在Orchestration View里面,可以为该Orchestration定义全局变量和局部变量
在Orchestration View的Variables里面添加的变量为全局变量. 该变量可以是int,string等系统类型,也可以是.net class类型 ;该变量可以在该Orchestration的任意Expression Editor里面使用. 如果是.net class类型 ,该变量的值可以不通过new创建而直接使用,biztalk 将在其第一次使用时,使用它默认的构造函数初始化该变量. 另外需要注意的是在XLANG里面使用的.net class必须是[Serilizable]的,该class所在的assembley必须被部署到GAC里面才能被biztalk使用.
eg:
using System;
using System.Xml;
namespace Microsoft.Samples.BizTalk.MathLibrary
{
[Serializable]
public class MathHelper
{
public MathHelper()
{
}
public int Add(int a, int b)
{
return a+b;
}
public int Subtract(int a, int b)
{
return a-b;
}
}
public class Helper
{
private Helper() {}
public static XmlDocument ConstructDoc(int iSum)
{
XmlDocument doc = new System.Xml.XmlDocument();
doc.LoadXml("
http://MethodCallSample.OutputSchema/">
< a> xmlns=/"/">"+iSum.ToString()+"
");
return doc;
}
}
}
编译并部署好以上的class以后,biztalk可以引用该dll,并在创建变量的时候选择Microsoft.Samples.BizTalk.MathLibrary.MathHelper类型,则可以在XLANG里面使用该对象提供的功能.
在Orchestration里面的每个事务(Scope shape)里面可以定义局部变量,该局部变量只在事务内有效.使用的方法同全局变量