Mensajes representados como esquemas XSD
Una instancia XML de plantilla del tipo de mensaje XSD se define en el momento del diseño y luego se guarda en el disco. En tiempo de ejecución, un componente .NET toma el XML del disco y lo devuelve como XmlDocument. El código de orquestación puede asignar este resultado XmlDocument a la instancia del mensaje declarado en la orquestación.
La forma Asignación de mensajes tiene una sola línea de código:
MsgOut = CreateMsgHelper.Helper.GetXmlDocumentTemplate();
El componente Asistente que crea el XmlDocument tiene un solo método estático:
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;
}
Consulte también
Mensajes representados como clases .NET
Mensajes representados como XLANGMessage
Construcción de mensajes en código de usuario