簡體   English   中英

WF 4.5應用動態更新異常

[英]WF 4.5 Apply Dynamic Update Exception

用幾步創建StateMachine工作流后,我想嘗試使用DynamicUpdate。 按照說明,我創建了更新地圖,但是當我嘗試應用它時,出現以下錯誤:

System.Activities.dll中發生了類型為'System.Activities.DynamicUpdate.InstanceUpdateException'的未處理異常。其他信息:更新映射與工作流定義不匹配。 請確保這是此定義的正確映射,並且未手動更改序列化映射。

故障排除詳細信息:具有所有者“”的IdSpace具有“ 2”個成員; 預期為“ 1”。

如果修改了現有轉換的觸發器,或者將條件或動作活動重新分配給新的轉換,則StateMachine不支持動態更新。


我在新版本中所做的就是添加epmty State並將Pointers連接到它。 持久的工作流仍然會給出此例外。

試試看:

public static void UpdateWorkflowDynamic(string xaml)
    {
        StringReader sr = new StringReader(xaml);
        XmlReader xmlReader = XmlReader.Create(sr);
        XamlXmlReaderSettings settings = new XamlXmlReaderSettings
        {
            LocalAssembly = typeof(BookmarkDesign).Assembly
        };
        XamlReader xamlReader = new XamlXmlReader(xmlReader, settings);
        ActivityXamlServicesSettings XamlSettings = new ActivityXamlServicesSettings
        {
            CompileExpressions = true
        };
        Activity newActivity = ActivityXamlServices.Load(xamlReader, XamlSettings);


        sr = new StringReader(xaml);
        xmlReader = XmlReader.Create(sr);
        xamlReader = new XamlXmlReader(xmlReader, settings);
        ActivityBuilder activityBuilder = (ActivityBuilder)XamlServices.Load(ActivityXamlServices.CreateBuilderReader(xamlReader));
        DynamicUpdateServices.PrepareForUpdate(activityBuilder);
        DynamicUpdateMap updateMap = DynamicUpdateServices.CreateUpdateMap(activityBuilder);
        WorkflowIdentity newIdentity = new WorkflowIdentity
        {
            Name = "Update",
            Version = new Version(2, 0, 0, 0)
        };
        WorkflowApplicationInstance instance = WorkflowApplication.GetInstance(Guid.Parse("yourGuid"), GetInstance().InstanceStore);
        WorkflowApplication wfApp = new WorkflowApplication(newActivity, newIdentity);

        wfApp.Load(instance, updateMap);
        wfApp.Unload();
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM