Partager via


Utilisation des champs distinctifs et des champs de propriété

les champs distinctifs constituent des données de message d'un intérêt particulier, que vous utilisez essentiellement pour prendre des décisions ou pour manipuler des données dans l'orchestration.

Les propriétés de message sont des données (contenu du message) ou des « métadonnées » (informations contextuelles relatives au message, telles que les horodatages ou les informations de routage). Vous pouvez utiliser les propriétés de contexte des messages ou du transport définies par le système, ou définir vos propres propriétés en faisant référence aux champs d'un schéma de propriété. Les propriétés sont utilisées dans les abonnements et les corrélations.

  • Vous pouvez désigner un champ dans un schéma en tant que champ ou champ de propriété unique à l’aide de la boîte de dialogue Promouvoir les propriétés à partir de l’éditeur. Pour plus d’informations, consultez Promotion des propriétés.

  • Vous pouvez désigner un champ d'un type .NET comme champ distinctif en le décorant avec l'attribut DistinguishedField, ou comme propriété avec l'attribut Propriété.

Utilisation des champs distinctifs

Les champs distinctifs sont désignés par le chemin d'accès au champ dans le message, avec des points séparant le nom du message, les noms des enregistrements qui entourent le champ (le cas échéant) et le nom du champ lui-même :

MyMessage.MyRecord.MySubrecord.MyDistinguishedField  

Utilisation des champs de propriété

Une fois un champ ajouté au schéma de propriété, sa valeur est accessible dans le code de l'orchestration et dans les expressions de filtre. Pour plus d’informations sur les schémas de propriété, consultez Schémas de propriété.

Notes

Le contenu de message ou les propriétés de données sont essentiellement des raccourcis vers les données sous-jacentes : si vous modifiez la propriété, les données sont modifiées, et vice versa.

Les propriétés de message sont désignées par le nom du message suivi par l'espace de noms (le schéma) et le nom de propriété entre parenthèses :

MyMessage(Invoice.PropertySchema.InvoiceID)  

Notes

Lorsque vous utilisez un mot clé réservé comme nom d’un champ dans un schéma et que vous promouvez le champ en sélectionnant Promotion rapide, le nom de la propriété du champ est remplacé par __<Reserved Keyword>. (Un double trait de soulignement est ajouté devant le nom de la propriété.) Cependant, si vous utilisez ce nom de propriété dans une expression d'orchestration, vous recevrez une erreur du compilateur lors de la création de l'orchestration. Pour éviter cette erreur, vous devez ajouter manuellement @ devant le double trait de soulignement. Par exemple,

MyMessage(Invoice.PropertySchema.@__Name) = "Product Name";

Jeux de propriétés

Vous pouvez également assigner toutes les propriétés de contexte d'un message (ou jeu de propriétés) aux propriétés de contexte d'un autre message. Pour assigner un jeu de propriétés, vous devez simplement placer un astérisque entre parenthèses après le nom de chaque message, de la même manière que vous placez une propriété entre parenthèses :

MyMessage2(*)=MyMessage1(*);  

Une fois le jeu de propriétés assigné à MyMessage2 dans l'exemple, toutes les propriétés de MyMessage2 ont les mêmes valeurs que les propriétés de MyMessage1.

Voir aussi

Promotion des propriétés
Utilisation des filtres avec la forme Réception de messages
Utilisation de messages passant par des orchestrations
À propos des propriétés de contexte de message BizTalk