2011-01-21 43 views
1

問題時,告訴活動類型:如何裝載持久工作流

有一種簡單的方法來找出什麼活動類型來創建工作流?

背景:

我寫我自己的基礎WorkflowApplication的Windows Workflow 4託管引擎,我有一些問題要加載堅持工作流程從數據庫中。我正在使用WorkflowApplication.Load(Guid)方法啓動工作流程,但這需要我創建WorkflowApplication

看着SqlWorkflowInstanceStore數據庫,我沒有看到類型名稱存儲在任何地方,我沒有看到一個簡單的聯繫它,因爲我只是爲了存儲該信息而創建另一個表。

回答

2

當您使用工作流服務時,相對URL用於確定WorkflowServiceHost是否擁有工作流實例,這是通過數據庫中的ServiceDeploymentsTable表完成的。當您使用WorkflowApplication時沒有類似的機制,因此您必須自行推出。

你可以做的一件事是使用屬性提升來將類型存儲在InstancePromotedPropertiesTable中。它可以幫助您避免創建新表格,但幾乎不是解決問題的理想方法。

+0

我只是想說,當我在這個項目上工作時,你的網站對我來說非常有用。它似乎是唯一可以找到有關WF4更深層信息的地方。 – JasonRShaver 2011-01-23 06:09:23

+0

謝謝,我會盡力保持良好的工作:-) – Maurice 2011-01-23 09:09:03

1

我想你有2個選項做這件事,他們都不最佳:

  • 如莫里斯已經建議以存儲InstancePromotedPropertiesTable的信息,並避免創建自己的表,你可以使用升級的屬性。有一篇不錯的文章on MSDN
  • 如果您決定創建自己的表格,我建議您實施PersistenceIOParticipant。查看the sample,您可以隨時存儲類型名稱或您的XAML而不是路徑。
相關問題