2012-09-12 66 views
1

我需要以編程方式從控制檯應用程序獲取運行工作流程的AssociationData。現在我只能得到其父(工作流關聯在列表中)的AssociationData獲取運行工作流程的關聯數據

using (SPSite site = new SPSite("http://sp:2200")) 
    { 
     using (SPWeb web = site.OpenWeb()) 
     { 
      string parentAssociationData = 
       web.Lists["TestWorkflow"].GetItemById(1).Workflows[0]. 
        ParentAssociation.AssociationData; 
     } 
    } 

我需要的是這樣的

string neededData = item.Workflows[0].AssociationData; 

因爲當你手動啓動工作流程並更改其設置權開始之前:workflow.AssociationData != workflow.ParentAssociation.AssociationData

比如我可以通過獲得自定義的工作流數據

SPWorkflowActivationProperties workflowProperties = new SPWorkflowActivationProperties(); 
workflowProperties.AssociationData 

回答

1

我想你誤會了AssociationData。一旦將工作流程與您的列表關聯,關聯數據僅輸入一次。你說你在開始之前改變了設置- 在這種情況下你正在談論InitiationData
SPWorkflowActivationProperties.InitiationData將幫助您:

- >獲取傳遞到工作流實例開始數據。

+0

謝謝你的回答。你是對的。如何使用SPWorkflow對象獲得SPWorkflowActivationProperties對象? – user1665961

+0

我發現了類似的帖子。 [link](http://www.sharepointdev.net/sharepoint--workflow/how-do-i-get-initiationdata-from-a-workflow-that-is-running-44386.shtml) 「否則,從非工作流aspx頁面,你不能......(除非你的工作流程將其initializationData存儲到自定義列表或者OOB工作流程無法完成的自定義列)「 – user1665961

相關問題