2011-09-09 34 views
1

我已經花幾天試圖找到我要去嘗試,說明問題的,我用Google搜索了很多,甚至看爲SendReply和InternalSendReply活動的.NET 4的參考源的溶液。但直到現在,我卡住了。WorkflowCreationEndpoint ResumeBookmark與填充響應

爲了讓我想更換接收和SendReply活動定製活性及使用書籤,而不是我們的終端客戶更簡單的生活。

我執行它可以爲正確的工作流實例路由,即工作流程修改書籤值中心互聯網服務和finaly它在返回修改後的書籤值創建一個新的書籤。使用WorkflowServiceHostFactory已經相當複雜,它會添加行爲並將DataContractResolver附加到端點。

從WorkflowHostingEndpoint導出的端點,其解決了自定義活動創建的(而不是接收)一個書籤。我想要另一個活動,而不是一個sendreply。這兩個應該關聯,並且自定義sendreply通過端點在開放頻道上發送響應,同時創建新的書籤。

問題是,我沒有找到方法來從我的自定義發送活動中訪問端點responseContext。另一方面,在工作流創建端點方面,似乎我無法在工作流成爲空閒時得到通知,並且我似乎無法從主機訪問WorkflowExtensions。 我錯過了什麼?

我想到的一種可能的解決方案可能不是使用WorkflowServiceHost,但後來我鬆散了大量的AppFabric函數。

在平臺更新1的workflowapplication具有一定的擴展方法稱爲RunEpisode與超載Func鍵名爲idleEventCallback。在那裏可以掛鉤OnIdle並獲得一個工作流擴展來獲取對象作爲響應發回。

+0

我忘了說每個「小插曲」,將有一個短暫的一生中,它實際上是建立在新的WF上方的statemachine它觸發一個過渡和操作修改的值到達下一個狀態時返回。 – rfcdejong

回答

0

爲了回答我自己的問題,我最終採用了使用sql server的servicebroker功能的解決方法。 SqlDependency類,當工作流到達在另一個狀態下創建新書籤的活動時,工作流監聽要觸發的事件。