BinaryMessageEncodingBindingElement クラス

定義

メッセージのエンコードに使用される XML の .NET バイナリ形式を指定するバインド要素。

public ref class BinaryMessageEncodingBindingElement sealed : System::ServiceModel::Channels::MessageEncodingBindingElement
public ref class BinaryMessageEncodingBindingElement sealed : System::ServiceModel::Channels::MessageEncodingBindingElement, System::ServiceModel::Description::IPolicyExportExtension, System::ServiceModel::Description::IWsdlExportExtension
public sealed class BinaryMessageEncodingBindingElement : System.ServiceModel.Channels.MessageEncodingBindingElement
public sealed class BinaryMessageEncodingBindingElement : System.ServiceModel.Channels.MessageEncodingBindingElement, System.ServiceModel.Description.IPolicyExportExtension, System.ServiceModel.Description.IWsdlExportExtension
type BinaryMessageEncodingBindingElement = class
    inherit MessageEncodingBindingElement
type BinaryMessageEncodingBindingElement = class
    inherit MessageEncodingBindingElement
    interface IWsdlExportExtension
    interface IPolicyExportExtension
Public NotInheritable Class BinaryMessageEncodingBindingElement
Inherits MessageEncodingBindingElement
Public NotInheritable Class BinaryMessageEncodingBindingElement
Inherits MessageEncodingBindingElement
Implements IPolicyExportExtension, IWsdlExportExtension
継承
BinaryMessageEncodingBindingElement
実装

var be = new BinaryMessageEncodingBindingElement();
be.MaxReadPoolSize = 16;
be.MaxSessionSize = 2048;
be.MaxWritePoolSize = 16;
be.MessageVersion = MessageVersion.Default;
XmlDictionaryReaderQuotas quotas = be.ReaderQuotas;

var binding = new CustomBinding();
var bpCol = new BindingParameterCollection();
var context = new BindingContext(binding, bpCol);
be.BuildChannelFactory<IDuplexChannel>(context);

var binding2 = new CustomBinding();
var bpCol2 = new BindingParameterCollection();
var context2 = new BindingContext(binding2, bpCol2);
be.BuildChannelListener<IDuplexChannel>(context2);

be.CanBuildChannelListener<IDuplexChannel>(context2);
BindingElement bindingElement = be.Clone();
MessageEncoderFactory mef = be.CreateMessageEncoderFactory();
MessageVersion mv = be.GetProperty<MessageVersion>(context);
Dim be As New BinaryMessageEncodingBindingElement()
be.MaxReadPoolSize = 16
be.MaxSessionSize = 2048
be.MaxWritePoolSize = 16
be.MessageVersion = MessageVersion.Default
Dim quotas As XmlDictionaryReaderQuotas = be.ReaderQuotas

Dim binding As New CustomBinding()
Dim bpCol As New BindingParameterCollection()
Dim context As New BindingContext(binding, bpCol)
be.BuildChannelFactory(Of IDuplexChannel)(context)

Dim binding2 As New CustomBinding()
Dim bpCol2 As New BindingParameterCollection()
Dim context2 As New BindingContext(binding2, bpCol2)
be.BuildChannelListener(Of IDuplexChannel)(context2)

be.CanBuildChannelListener(Of IDuplexChannel)(context2)
Dim bindingElement As BindingElement = be.Clone()
Dim mef As MessageEncoderFactory = be.CreateMessageEncoderFactory()
Dim mv As MessageVersion = be.GetProperty(Of MessageVersion)(context)

注釈

エンコードは、メッセージをバイト シーケンスに変換するプロセスです。 デコードは逆のプロセスです。 Windows Communication Foundation (WCF) には、SOAP メッセージの 3 種類のエンコードが含まれています。テキスト、バイナリ、メッセージ送信の最適化メカニズム (MTOM) です。

BinaryMessageEncodingBindingElement は、.NET Binary Format for XML を使用してメッセージをエンコードすることを指定するバインディング要素です。 使用する文字エンコーディングと SOAP および WS-Addressing バージョンを指定するオプションがあります。 バイナリ エンコードは、エンコード オプションの中で最も効率的ですが、相互運用性は最も低いです。

メッセージが XML のテキスト表現を使用してエンコードされることを指定するバインディング要素の詳細については、 TextMessageEncodingBindingElementを参照してください。

MTOM メッセージ エンコードを使用してメッセージをエンコードすることを指定するバインディング要素の詳細については、 MtomMessageEncodingBindingElementを参照してください。

カスタム メッセージ エンコーダーを実装するには、 MessageEncodingBindingElement クラスを使用します。

コンストラクター

名前 説明
BinaryMessageEncodingBindingElement()

BinaryMessageEncodingBindingElement クラスの新しいインスタンスを初期化します。

プロパティ

名前 説明
CompressionFormat

バインディング要素の圧縮形式を取得または設定します。

MaxReadPoolSize

プールに割り当てられ、受信メッセージの処理に使用できる XML リーダーの最大数を取得または設定します。

MaxSessionSize

送信手順を最適化するためにセッション内で使用可能なメモリの最大量を取得または設定します。

MaxWritePoolSize

プールに割り当てられ、送信メッセージの処理に使用できる XML ライターの最大数を取得または設定します。

MessageVersion

SOAP メッセージと、使用または予期されるバージョン WS-Addressing を取得または設定します。

ReaderQuotas

このバインド要素で構成されたエンドポイントによって処理できる XML メッセージの複雑さに関する制約を取得または設定します。

メソッド

名前 説明
BuildChannelFactory<TChannel>(BindingContext)

指定したコンテキストに対して指定した種類のチャネルを作成するチャネル ファクトリ スタックをクライアント上に構築します。

BuildChannelListener<TChannel>(BindingContext)

指定したコンテキストに対して指定した種類のチャネルを受け入れるチャネル リスナーをサービスに構築します。

CanBuildChannelFactory<TChannel>(BindingContext)

バインディング要素が特定の種類のチャネルのチャネル ファクトリを構築できるかどうかを示す値を返します。

(継承元 BindingElement)
CanBuildChannelListener<TChannel>(BindingContext)

現在のバインディングが、指定した種類のチャネルとコンテキストのリスナーを構築できるかどうかを示す値を返します。

Clone()

現在のオブジェクトから初期化された新しい BinaryMessageEncodingBindingElement オブジェクトを作成します。

CreateMessageEncoderFactory()

SOAP バージョンと WS-Addressing バージョン、および現在のエンコード バインド要素で指定された文字エンコードを使用するバイナリ メッセージ エンコーダー用のファクトリを作成します。

Equals(Object)

指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetProperty<T>(BindingContext)

バインディング要素スタック内の適切なレイヤーから、要求された型指定されたオブジェクト (存在する場合) を返します。

GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Objectの簡易コピーを作成します。

(継承元 Object)
ShouldSerializeMessageVersion()

SOAP メッセージ構造のバージョンをシリアル化する必要があるかどうかを返します。

ShouldSerializeReaderQuotas()

SOAP メッセージ構造の複雑さに対する制約の値をシリアル化する必要があるかどうかを返します。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

明示的なインターフェイスの実装

名前 説明
IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext)

エンドポイントの生成されたメタデータにカスタム バイナリ メッセージ エンコード要素を書き込みます。

IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext)

コントラクトの生成された WSDL にカスタム バイナリ メッセージ エンコード要素を書き込みます。

IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext)

エンドポイントの生成された WSDL にカスタム バイナリ メッセージ エンコード要素を書き込みます。

適用対象