2009-02-12 104 views
1

我正在使用WorkFlowServiceHost(在.net 3.5中)託管狀態機工作流。我使用WCF接收活動處理對工作流程的調用。我正在使用WCF授權策略根據消息標題中的信息將傳入請求附加到請求。因此,我可以使用ServiceSecurityContext或Thread.CurrentPrincipal獲得有關請求(角色,用戶等)的授權信息。Workflow Foundation線程和WCF OperationContext

我知道這對我們不起作用,因爲工作流調度不同的線程來處理運行時引擎在有工作要做時(即接收活動)引發的事件。有關請求的上下文信息(OperationContext)在工作流程中不再可用(除非在運行時線程上執行工作時隨機)。

我想要做的是在創建工作線程之前獲取有關請求的信息(OperationContext),獲取工作線程並將上下文信息附加到工作線程,以便在工作流實例中可用。

我想在運行時必須有一些事件可以處理,但我沒有提出任何事情。我真的不想使用手動工作流調度程序。任何幫助表示讚賞。

謝謝!

回答

1

我已經很晚了,但是我在Google上搜索「silverlight operationcontext」,發現你的SO問題以及blog post that I am linking(在Google搜索結果中一個接一個)。我不知道這是否會有所幫助(他幾乎在兩年後說)。

我沒有用WCF工作太多,也沒有用WFF工作,所以除了這個鏈接之外我沒有太多的補充。

+0

哇,有人回覆! ;-)。感謝您的鏈接,我們最終將工作流程移植到了我們自己的解決方案中,這很煩人,但它最終成爲正確的選擇(更好的性能,更多的控制,更少的開銷)。但從外觀上看,他們在WF4.0中提供了更好的鉤子 – Dan 2011-03-30 11:18:13