次の方法で共有


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 クエリを開始します。 識別フィールドには、サイズの制限もありません。 Message コンテキストの識別フィールドの IsPromoted プロパティは False に設定 されています

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

次の表は、プロパティ フィールドと識別フィールドの相違点および類似点をまとめたものです。

属性 プロパティ フィールド 識別フィールド
IsPromoted Property True False
サイズの制限 255 文字 制限なし
ルーティングのための使用 はい いいえ
追跡のための使用 はい いいえ
オーケストレーションでの使用 はい はい
プロパティ スキーマの必要性 はい いいえ
パイプラインおよびポートからのアクセス はい いいえ

関連項目

メッセージ処理を管理するためのメッセージの内容の使用方法