ContextBindingElement クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
バインド要素のコンテキストとチャネル リスナーおよびファクトリを構築するための機能の一環として保護レベルと交換機構を提供します。
public ref class ContextBindingElement : System::ServiceModel::Channels::BindingElement, System::ServiceModel::Channels::IContextBindingElement, System::ServiceModel::Description::IPolicyExportExtension
public class ContextBindingElement : System.ServiceModel.Channels.BindingElement, System.ServiceModel.Channels.IContextBindingElement, System.ServiceModel.Description.IPolicyExportExtension
type ContextBindingElement = class
inherit BindingElement
interface IPolicyExportExtension
interface IContextBindingElement
Public Class ContextBindingElement
Inherits BindingElement
Implements IContextBindingElement, IPolicyExportExtension
- 継承
- 実装
注釈
ContextBindingElement を使用すると、そのコンテキスト交換プロトコルを管理するためのサービスのバインドに要素を追加できます。 ContextBindingElement は通常、信頼性要素、セキュリティ要素、およびトランスポート バインド要素の上に積み重ねられます。 ContextBindingElement では構成オプションは必要とはせず、IRequestChannel、IRequestSessionChannel、および IDuplexSessionChannel のチャネル ファクトリを作成できます。 さらに、IReplyChannel、IReplySessionChannel、および IDuplexSessionChannel のチャネル リスナーも生成できます。 コンテキスト チャネルはチャネル インターフェイスを変更しません。基になるチャネル スタックは、要求されたチャネルの形状とセッション機能をサポートする必要があります。
チャネル リスナーとチャネル ファクトリは、受信メッセージと送信メッセージを処理するために使用されるチャネル スタックの一部を構築するために使用されます。
注意
を使用ContextBindingElementしてセッション ベースのバインディングを作成し、 を指定NotAllowedSessionMode = InvalidOperationExceptionするコントラクトと共に使用すると、 がスローされます。チャネルを作成するときに、"チャネルを開いた後でチャネル コンテキスト管理を有効または無効にすることはできません" というテキストが表示されます。セッション ベースのチャネルを にAllowed設定SessionModeするかRequired、使用しない必要があります。
カスタム バインドの作成時、信頼性バインドおよびセキュリティ バインド要素 (ある場合) を追加する前に、カスタム バインドの ContextBindingElement に BindingElementCollection を追加することをお勧めします。 これを行わない場合、次のメッセージと共に ProtocolException がサービスによってスローされる可能性があります。
"コンテキストのチャネルが、現在チャネルにキャッシュされているコンテキストと一致しないコンテキストを含むメッセージを受信しました。 コンテキストが最初に設定された後、またはチャネル プロパティ 'IContextManager.Enabled' を false に設定してコンテキストの管理が無効にされた後に、サービスによってコンテキストが変更されていないことを確認してください。"
コンストラクター
ContextBindingElement() |
ContextBindingElement クラスの新しいインスタンスを初期化します。 |
ContextBindingElement(ProtectionLevel) |
保護レベルを指定して ContextBindingElement クラスの新しいインスタンスを初期化します。 |
ContextBindingElement(ProtectionLevel, ContextExchangeMechanism) |
保護レベルおよび交換機構を指定して、ContextBindingElement クラスの新しいインスタンスを初期化します。 |
ContextBindingElement(ProtectionLevel, ContextExchangeMechanism, Uri) |
保護レベル、コンテキスト交換機構、およびクライアント コールバック アドレスを指定して、ContextBindingElement クラスの新しいインスタンスを初期化します。 |
ContextBindingElement(ProtectionLevel, ContextExchangeMechanism, Uri, Boolean) |
保護レベル、コンテキスト交換機構、クライアント コールバック アドレス、コンテキスト管理が有効になっているかどうかを示す値を指定して、ContextBindingElement クラスの新しいインスタンスを初期化します。 |
プロパティ
ClientCallbackAddress |
バインド要素のクライアント コールバック アドレスを取得または設定します。 |
ContextExchangeMechanism |
バインド要素のコンテキストをやり取りするための交換機構を取得または設定します。 |
ContextManagementEnabled |
コンテキスト管理が有効にされるかどうかを指定する値を取得または設定します。 |
ProtectionLevel |
コンテキストからバインド要素を保護するレベルを取得または設定します。 |
メソッド
BuildChannelFactory<TChannel>(BindingContext) |
指定したコンテキストに対して指定した種類のチャネルを作成するチャネル ファクトリ スタックをクライアント上に作成します。 |
BuildChannelListener<TChannel>(BindingContext) |
指定したコンテキストに対する、指定した種類のチャネルを受け入れるチャネル リスナー スタックをクライアント上に作成します。 |
CanBuildChannelFactory<TChannel>(BindingContext) |
指定した種類のチャネルとコンテキストに対するファクトリを現在のバインド要素が作成できるかどうかを示す値を返します。 |
CanBuildChannelListener<TChannel>(BindingContext) |
指定した種類のチャネルとコンテキストに対するリスナーを現在のバインディングが作成できるかどうかを示す値を返します。 |
Clone() |
新しい ContextBindingElement オブジェクトを作成し、現在のオブジェクトを使用して初期化します。 |
Equals(Object) |
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
ExportPolicy(MetadataExporter, PolicyConversionContext) |
カスタム ポリシー アサーションをバインド要素のコンテキストに書き込みます。 |
GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
GetProperty<T>(BindingContext) |
チャネル スタックの適切な層から、指定されたコンテキストと共に型指定されたオブジェクトを返します。 |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
適用対象
.NET