我在我的ASP.NET MVC2應用程序中託管了一個wcf工作流服務。 我需要能夠在我的工作流程(WF4)中加載/保存數據。 如何做?我應該在我的活動中實例化我的實體框架上下文並讀/寫嗎?如何從WF4訪問數據庫?
乾杯。
我在我的ASP.NET MVC2應用程序中託管了一個wcf工作流服務。 我需要能夠在我的工作流程(WF4)中加載/保存數據。 如何做?我應該在我的活動中實例化我的實體框架上下文並讀/寫嗎?如何從WF4訪問數據庫?
乾杯。
有幾種方法可以獲取您的數據。您可以使用來自CodePlex的WF ADO.NET Activity Pack CTP 1之類的東西,它可以工作,但不能說我是粉絲。你可以在CodeActivity中使用EF,NHibernate等來做類似的事情。但總的來說我總是告訴人們分開什麼從如何。工作流應該關注什麼部分,你應該保持如何以外的工作流本身。這意味着要創建一個真正簡單的活動,與工作流程擴展一起使用,並將數據訪問代碼放入工作流程擴展中。一旦你這樣做了,你的工作流擴展只是另一個數據倉庫,你可以在那裏使用標準的編碼技術。
WF 4.0出貨樣品中還有樣品Entity Framework Activity pack。
是的,我完全同意你的看法,我也是一個關注分離的大粉絲!當然,我有我的數據存儲庫。 但是,在WF活動中實例化我的數據存儲庫服務最後是實例化我的EF上下文。 我的問題是:它可以,或者我應該創建某種「外部」服務,並將它註冊到WF運行時的某個地方(正如我所理解的那樣,我在WF3.5中這樣做)。 我的問題是更技術性的,然後我可以使我的分解頂部:) 什麼是你提到的WF擴展? – 2010-06-06 12:12:33
Wf4擴展與WF3運行時服務相同。將其添加到WorkflowInvoker/WorkflowApplication Extensions集合(或WorkflowServiceHost WorkflowExtensions集合)中,並使用context.GetExtension()獲取對其的引用。 –
Maurice
2010-06-06 12:23:18