C# Windows工作流基础跟踪ActuviyID——这是什么编码? 我在项目上使用Windows工作流基础,特别是StaseTrrar、实例存储和跟踪组件。每个实例化工作流的跟踪将序列化到数据库,此外,我还可以使用以下技术反序列化此数据:

C# Windows工作流基础跟踪ActuviyID——这是什么编码? 我在项目上使用Windows工作流基础,特别是StaseTrrar、实例存储和跟踪组件。每个实例化工作流的跟踪将序列化到数据库,此外,我还可以使用以下技术反序列化此数据:,c#,serialization,encoding,character-encoding,workflow-foundation-4,C#,Serialization,Encoding,Character Encoding,Workflow Foundation 4,跟踪反序列化为一个大型XML树,表示长时间运行的工作流的当前状态,即: //...brevity <activities z:Id="5" xmlns="http://schemas.datacontract.org/2010/02/System.Activities"> <SerializedInstanceLists z:Id="6" z:Size="4" xmlns:a="http://schemas.datacontract.org/2004/07/Syst

跟踪反序列化为一个大型XML树,表示长时间运行的工作流的当前状态,即:

//...brevity
<activities z:Id="5" xmlns="http://schemas.datacontract.org/2010/02/System.Activities">
      <SerializedInstanceLists z:Id="6" z:Size="4" xmlns:a="http://schemas.datacontract.org/2004/07/System.Activities.Runtime">
        <a:ActivityInstanceMap.InstanceList z:Id="7">
          <singleItem z:Id="8" z:Type="System.Activities.ActivityInstance" z:Assembly="System.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" xmlns="http://schemas.datacontract.org/2004/07/System.Activities">
//...brevity
代码更新后:

Activity 1 ID: 1.2170
Activity 2 ID: 1.2337
Activity 3 ID: 1.2215
Activity 1 ID: 1.2170
Activity 2 ID: **1.2338**
Activity 3 ID: **1.2216**
当前处于活动3的工作流将具有反序列化为以下内容的跟踪:

            <a:ActivityInstanceMap.InstanceList z:Id="129">
          <singleItem z:Ref="11" i:nil="true" xmlns="http://schemas.datacontract.org/2004/07/System.Activities"></singleItem>
          <a:ActivityId z:Id="130">AQE=</a:ActivityId>
        </a:ActivityInstanceMap.InstanceList>
        <a:ActivityInstanceMap.InstanceList z:Id="131">
          <singleItem z:Ref="109" i:nil="true" xmlns="http://schemas.datacontract.org/2004/07/System.Activities"></singleItem>
          <a:ActivityId z:Id="132">AacR</a:ActivityId>
        </a:ActivityInstanceMap.InstanceList>
        <a:ActivityInstanceMap.InstanceList z:Id="133">
          <singleItem z:Ref="95" i:nil="true" xmlns="http://schemas.datacontract.org/2004/07/System.Activities"></singleItem>
          <a:ActivityId z:Id="134">AaMR</a:ActivityId>
        </a:ActivityInstanceMap.InstanceList>

下面的文章解释了如何生成ActivityID:

非常感谢您的帮助

找到了

Convert.ToBase64String(activity.QualifiedId.AsByteArray())
:-)