C#工作流项目中的Sharepoint工作流全局变量
过去,我曾使用SharePoint Designer开发文档工作流,并创建了“全局变量”。据我所知,这些变量在工作流实例中是全局变量 如何在VisualStudio工作流项目中创建等效的全局变量?我的第一个想法是在模块中创建一组如下字段:C#工作流项目中的Sharepoint工作流全局变量,c#,sharepoint-2010,workflow,C#,Sharepoint 2010,Workflow,过去,我曾使用SharePoint Designer开发文档工作流,并创建了“全局变量”。据我所知,这些变量在工作流实例中是全局变量 如何在VisualStudio工作流项目中创建等效的全局变量?我的第一个想法是在模块中创建一组如下字段: <Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <Field ID="{2FE15855-3CAB-44A6-AB29-1600204FCA20}" Name="Te
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Field ID="{2FE15855-3CAB-44A6-AB29-1600204FCA20}" Name="TechRev1"
MaxLength="255" DisplayName="Technical Reviewer 1" Description=""
Direction="None" Type="User" Overwrite="TRUE" />
<Field ID="{517B22A5-1B89-4C24-82BE-3D4FD99645BC}" Name="TechRev2"
MaxLength="255" DisplayName="Technical Reviewer 2" Description=""
Direction="None" Type="User" Overwrite="TRUE"/>
<Elements/>
这是正确的方法吗?我如何从ASPX表单访问任何全局变量?在Visual Studio中开发了我的工作流后,我得出结论,您应该使用SharePoint列表和类范围变量的组合来保留工作流中的全局状态 当..
- 数据需要在工作流中跨多个不同的类进行访问
- 数据只在一个类中需要
- 数据属于可以序列化的类型(基元类型,标记为[Serializable]的类型)。我的解决方案中有一种这样的类型:
[可序列化]
公共类书包{
公共词典审阅者{get;set;}
公共字符串调节器{get;set;}
public ReviewerBag() { Reviewers = new Dictionary<string,Reviewer>(); } ...
}公共文件包() { 审阅者=新词典(); } ...
- 如果工作流中的类之间需要数据,您仍然可以使用变量,但请注意,每次在类中声明变量时,当工作流变为空闲时(例如,当工作流等待用户完成任务时),变量都将被独立序列化。变量在工作流恢复时被独立反序列化,因此变为不同步。这个故事的寓意是在这个场景中使用列表来存储数据