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 訊息的三種編碼類型:文字、二進位和訊息傳輸最佳化機制 (MTOM)。

BinaryMessageEncodingBindingElement 是繫結項目,指定 XML 的 .NET 二進位格式應該用於編碼訊息。 其有選項可指定要使用的字元編碼和 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)

在服務上建置通道接聽程式,針對指定的內容,接受指定的通道型別。

BuildChannelListener<TChannel>(BindingContext)

初始化通道接聽項,以便從繫結內容接受指定之類型的通道。

(繼承來源 BindingElement)
CanBuildChannelFactory<TChannel>(BindingContext)

傳回值,指出繫結項目是否可以建置 (Build) 特定通道類型的通道處理站。

(繼承來源 BindingElement)
CanBuildChannelListener<TChannel>(BindingContext)

傳回值,這個值會指出目前的繫結是否可以建置指定之通道及內容類型的接聽程式。

CanBuildChannelListener<TChannel>(BindingContext)

傳回值,指出繫結項目是否可以建置特定通道型別的通道接聽程式。

(繼承來源 BindingElement)
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。

適用於