Tipi di variabili delle orchestrazioni
È possibile dichiarare variabili dei tipi predefiniti seguenti:
Variabili | |
---|---|
boolean | byte |
char | Datetime |
decimal | double |
int16 | int32 |
int64 | long |
sbyte | single |
string | timespan |
uint16 | uint32 |
uint64 |
È inoltre possibile dichiarare variabili di qualsiasi tipo basato su .NET a cui si faccia riferimento nel progetto.
Considerazioni relative alla dichiarazione di variabili delle orchestrazioni
Quando si dichiarano variabili delle orchestrazioni, considerare quanto segue:
BizTalk Server supporta proprietà di contesto multivalore per determinati scenari di routing basati sul contenuto, ma non è possibile usare tali proprietà nelle orchestrazioni.
Per supportare la sospensione e la reidratazione delle orchestrazioni, tutte le variabili delle orchestrazioni devono essere capaci di rendere persistente il proprio stato. In genere, questo risultato si ottiene rendendo serializzabile o trasmettibile come flusso il tipo o la classe della variabile.
Questi tipi (classi) basati su .NET devono essere serializzabili. Questa caratteristica può essere implementata dichiarandoli con l'attributo "[Serializable]" o implementando esplicitamente l'interfaccia .NET ISerializable (nello spazio dei nomi System.Runtime.Serialization).
Se il tipo basato su .NET è un Runtime Callable Wrapper (RCW) di un componente COM sottostante, il componente COM in questione deve implementare le interfacce necessarie perché il wrapper RCW diventi una classe .NET serializzabile, ad esempio IPersistStream e IPersistStreamInit.
Poiché tutti i tipi basati su .NET (o i componenti COM sottostanti) vengono eseguiti nel flusso di un'orchestrazione, i metodi in questi tipi non devono ritardare l'esecuzione dell'orchestrazione, ad esempio a causa di conflitti per le risorse. Il consumo di risorse da parte delle implementazioni di questi tipi inciderà sull'istanza host in cui viene eseguita l'orchestrazione chiamante.