IContextManager.Enabled プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
コンテキスト管理が有効にされたかどうかを示す値を取得または設定します。
public:
property bool Enabled { bool get(); void set(bool value); };
public bool Enabled { get; set; }
member this.Enabled : bool with get, set
Public Property Enabled As Boolean
プロパティ値
コンテキストが有効な場合は true
、それ以外の場合は false
。
注釈
コンテキスト管理が有効な場合、コンテキスト チャネルはその有効期間中、コンテキストをキャッシュします。 コンテキストは、IContextManager
メソッドを呼び出して、GetContext チャネル プロパティ経由でチャネルから取得できます。 チャネルを開く前に、チャネル プロパティで SetContext メソッドを呼び出して、事前にコンテキストで初期化できます。 チャネルは一度コンテキストで初期化すると、リセットできません。
このモードのインバリアントを次に示します。
チャネルを開いた後に SetContext を呼び出すと、
InvalidOperationException
がスローされます。送信メッセージで
ContextMessageProperty
を使用してコンテキストを送信しようとすると、InvalidOperationException
がスローされます。コンテキストを持つサーバーからメッセージを受信する場合に、チャネルが既にコンテキストで初期化されていると、
ProtocolException
がスローされます。 コンテキストを明示的に設定せずにチャネルを開いている場合は、サーバーから初期コンテキストを受信できます。受信メッセージの
ContextMessageProperty
は常にnull
です。
コンテキスト管理が有効でない場合、コンテキスト チャネルはコンテキストを管理しません。 コンテキストの取得、管理、および適用は、ContextMessageProperty
を使用してアプリケーションで行う必要があります。
GetContext チャネル プロパティを使用して SetContext または IContextManager
を呼び出そうとすると、InvalidOperationException
が発生します。
コンテキスト HTTP クッキーを除くすべての HTTP クッキーはチャネル レベルで処理されます。 コンテキスト HTTP クッキーはアプリケーション レベルで管理されます。 これは、チャネルを共有することによって ContextMessageProperty の対象となっているさまざまなインスタンスと通信するときに予期しない結果を発生させる可能性があります。 次の表は、Enabled が true
または false
に設定された場合、HTTP クッキーがどのような影響を受けるかを示しています。
バインド | IContextManager.Enabled 値 | コンテキスト HTTP クッキーのスコープ | 他の HTTP クッキーのスコープ |
---|---|---|---|
BasicHttpBinding | 該当なし | ChannelFactory | ChannelFactory |
BasicHttpContextBinding | true | チャネル | チャネル |
BasicHttpContextBinding | false | 各メッセージ別 (アプリケーションで明示的に管理) | チャネル |
適用対象
.NET