次の方法で共有


BizTalk メッセージ コンテキストプロパティについて

BizTalk Server アダプターがドキュメントを受信すると、そのドキュメントの BizTalk メッセージが作成されます。 BizTalk メッセージには、受信したドキュメントとメッセージ コンテキストが含まれます。 メッセージ コンテキストは、ドキュメントを処理するときに BizTalk Server によって使用されるさまざまなプロパティのコンテナーです。 メッセージ コンテキストの各プロパティは、名前、名前空間、および値の 3 つで構成されます。 たとえば、次のメッセージ コンテキスト プロパティは、ドキュメントのインターチェンジ ID を記述します。

<Property Name="InterchangeID" Namespace="http://schemas.microsoft.com/BizTalk/2003/system-properties" Value="{AC07BF30-2F1A-42B0-8390-191EF38BA839}"/>  

メッセージ コンテキスト プロパティは、BizTalk Server を通過するメッセージの有効期間中、メッセージ コンテキストに追加されます。

BizTalk で使用されるメッセージ コンテキスト プロパティには、次の 2 種類があります。

特性欄

プロパティ フィールドは、ドキュメント ルーティング、メッセージ追跡、およびオーケストレーションでの評価のために BizTalk メッセージング エンジンによって使用されるメッセージ コンテキスト プロパティです。 Visual Studio で使用できる BizTalk Server スキーマ エディターでドキュメントのスキーマを編集することで、ドキュメント内のフィールドをプロパティ フィールドとしてメッセージ コンテキストに明示的に昇格させることができます。 ドキュメント内のフィールドをプロパティ フィールドとしてメッセージ コンテキストに書き込むには、ドキュメント スキーマにプロパティ スキーマが関連付けられている必要があります。 プロパティ フィールドは 255 文字に制限されています。 メッセージ コンテキストの Property フィールドの IsPromoted プロパティが True に設定 されています

優れた分野

識別フィールドは、個別のプロパティ スキーマを必要とせず、オーケストレーションからのみアクセスできるメッセージ コンテキスト プロパティです。 識別フィールドは、ルーティングや追跡には使用できません。 識別フィールドは個別のプロパティ スキーマを必要としないため、オーケストレーション エンジンによる識別フィールドの評価では、オーケストレーション エンジンによるプロパティ フィールドの評価よりもオーバーヘッドが少なくなります。 プロパティ フィールドの評価には XPath クエリが必要です。パイプライン逆アセンブラーがコンテキスト内の識別フィールドを設定し、オーケストレーション エンジンがキャッシュされた値を読み取るように、識別フィールドの評価には XPath クエリは必要ありません。 ただし、オーケストレーション エンジンがコンテキストでプロパティを見つけられない場合は、XPath クエリを開始して値を検索します。 識別フィールドにはサイズ制限はありません。 メッセージ コンテキストの識別フィールドの IsPromoted プロパティが False に設定 されています

プロパティ フィールドと識別フィールドの違いの概要

次の表は、Property フィールドと Distinguished フィールドの違いと類似点をまとめたものです。

属性 プロパティ フィールド 識別フィールド
IsPromoted プロパティ 正しい いいえ
サイズ制限 255 文字 制限なし
ルーティングに使用 イエス いいえ
追跡に使用 イエス いいえ
オーケストレーションで使用される イエス イエス
プロパティ スキーマが必要 イエス いいえ
パイプラインとポートでアクセス可能 イエス いいえ

こちらもご覧ください

メッセージ コンテンツを使用してメッセージ処理を制御する方法