Als .NET-Klassen dargestellte Nachrichten
Bei diesem Ansatz muss zunächst eine .NET-Klasse erstellt werden, die den Nachrichtentyp definiert. Die Klasse muss einen Standardkonstruktor enthalten, andernfalls kann die Orchestrierung nicht kompiliert werden. Ein einfaches Beispiel für eine solche Klasse wird hier dargestellt.
using System;
using Microsoft.XLANGs.BaseTypes;
Using PropertyNamespace;
namespace NetClass
{
[Serializable]
public class MsgClass
{
public MsgClass()
{
StrField = "OK";
IntField = 1;
ShortField = 1;
}
[PropertyNamespace.ShortPropertyName]
public Int16 ShortField;
[PropertyAttribute(typeof(PropertyNamespace.StringPropertyName)]
[DistinguishedFieldAttribute()]
public String StrField;
[DistinguishedFieldAttribute()]
public int IntField;
}
}
Im obigen Beispiel entspricht ShortField einer Eigenschaft vom Typ PropertyNamespace.ShortPropertyName. Der zugrunde liegende Typ der Eigenschaft muss in diesem Fall InT16 sein, d. h. identisch mit dem Typ von ShortField. StrField entspricht im Beispiel sowohl einem gekennzeichneten Feld als auch einer Eigenschaft vom Typ PropertyNamespace.StringPropertyName. Der zugrunde liegende Typ der Eigenschaft ist dann String, d. h. identisch mit dem Typ von StrField. In der Regel werden PropertyNamespace.StringPropertyName und PropertyNamespace.ShortPropertyName im BizTalk Schema-Editor als Schemaeigenschaften erstellt. Sie müssen dann auf die Assembly verweisen, die die Schemaeigenschaften für Ihr C#-Projekt enthält.
Hinweis
In C# ist die Endung Attribute bei Attributnamen optional. Sie können diese Endung daher weglassen und stattdessen DistinguishedField oder Property verwenden. Beispiel:
[Property(typeof(PropertyNamespace.StringPropertyName))]
[DistinguishedField]
public string StrField;
Nachdem der Nachrichtentyp definiert wurde, kann sehr einfach Code in die Orchestrierung geschrieben werden, der eine neue Nachricht dieses Typs erstellt. In einem Shape "Nachricht erstellen " schreiben Sie einfache Ausdrücke, um eine neue Nachricht des oben gezeigten MsgClass-Typs zu erstellen, und weisen dann den Feldern Werte zu, die als Distinguished Fields (wenn Sie die Standardwerte überschreiben möchten) zugewiesen werden. Beachten Sie, dass MyMsg eine Orchestrierungsnachrichtenvariable vom Typ NetClass.MsgClass ist.
MyMsg = new NetClass.MsgClass();
MyMsg.StrField = "Changed Value";
MyMsg.IntField = 15;
Weitere Informationen
Als XSD-Schemas dargestellte Nachrichten
Als „XLANGMessage“ dargestellte Nachrichten
Erstellen von Nachrichten in Benutzercode