Messaggi rappresentati come classi .NET
L'approccio qui illustrato prevede innanzitutto la creazione di una classe .NET che definisca il tipo di messaggio. La classe deve avere un costruttore predefinito. In caso contrario non verrà compilata l'orchestrazione che utilizza la classe. Di seguito è riportato un esempio semplice di tale classe.
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;
}
}
Nell'esempio riportato sopra, ShortField sarebbe una proprietà di tipo PropertyNamespace.ShortPropertyName e il tipo sottostante dovrebbe essere Intl16, ovvero il tipo di ShortField. StrField sarebbe sia un campo differenziato che una proprietà di tipo PropertyNamespace.StringtPropertyName e il tipo sottostante dovrebbe essere String, ovvero il tipo di ShortField. In genere, sia PropertyNamespace.StringPropertyName che PropertyNamespace.ShortPropertyName vengono create tramite l'Editor schemi di BizTalk come proprietà degli schemi ed è necessario fare riferimento all'assembly che contiene le proprietà dello schema nel progetto C#.
Nota
Poiché nel linguaggio di programmazione C# il valore finale Attribute di un nome attributo è facoltativo, è possibile omettere il valore finale Attribute e utilizzare invece DistinguishedField o Property. Ad esempio,
[Property(typeof(PropertyNamespace.StringPropertyName))]
[DistinguishedField]
public string StrField;
Una volta definito il tipo di messaggio, è molto semplice scrivere codice nell'orchestrazione che creerà un nuovo messaggio di questo tipo. All'interno di una forma Costrutto messaggio si scrivono espressioni semplici per creare un nuovo messaggio del tipo MsgClass illustrato in precedenza e quindi assegnare valori ai campi che vengono assegnati come Campi distinti (se si desidera eseguire l'override dei valori predefiniti). MyMsg è una variabile di messaggio dell'orchestrazione il cui tipo è NetClass.MsgClass.
MyMsg = new NetClass.MsgClass();
MyMsg.StrField = "Changed Value";
MyMsg.IntField = 15;
Vedere anche
Messaggi rappresentati come schemi XSD
Messaggi rappresentati come XLANGMessage
Costruzione di messaggi in codice utente