表示為 XSD 結構描述的訊息
XSD 訊息的範本 XML 執行個體是在設計階段定義,接著儲存在磁碟上。 在執行階段,.NET 元件會從磁碟收取 XML,並將它當做 XmlDocument 傳回。 協調流程程式碼可將此 XmlDocument 結果指定至協調流程中宣告的訊息執行個體。
訊息指派圖形有一行程式碼:
MsgOut = CreateMsgHelper.Helper.GetXmlDocumentTemplate();
建立 XmlDocument 的「協助程式元件」具有一個靜態方法:
private static XmlDocument _template = null;
private static object _sync = new object();
private static String LOCATION = @"C:\MyTemplateLocation\MyMsgTemplate.xml";
public static XmlDocument GetXmlDocumentTemplate()
{
XmlDocument doc = _template;
if (doc == null)
{
// Load the doc template from disk.
doc = new XmlDocument();
XmlTextReader reader = new XmlTextReader(LOCATION);
doc.Load(reader);
// Synchronize assignment to _template.
lock (_sync)
{
XmlDocument doc2 = _template;
if (doc2 == null)
{
_template = doc;
}
else
{
// Another thread beat us to it.
doc = doc2;
}
}
}
// Need to explicitly create a clone so that we are not
// referencing the same object statically held by this class.
doc = (XmlDocument) doc.CloneNode(true);
return doc;
}