BinaryMessageEncodingBindingElement 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
綁定元素,指定用於編碼訊息的 .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
- 繼承
- 實作
範例
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 通訊基金會(WCF)包含三種 SOAP 訊息的編碼方式:文字、二進位及訊息傳輸優化機制(MTOM)。
BinaryMessageEncodingBindingElement 是綁定元素,指定 XML 的 .NET 二進位格式應用於訊息編碼。 它有指定字元編碼、SOAP 和 WS-Addressing 版本的選項。 二進位編碼是所有編碼選項中效率最高但互通性最低的一種。
關於指定訊息以文字表示 XML 編碼的綁定元素的更多資訊,請參見 TextMessageEncodingBindingElement。
關於指定訊息使用 MTOM 訊息編碼的綁定元素的更多資訊,請參見 MtomMessageEncodingBindingElement。
若要實作自訂訊息編碼器,請使用該 MessageEncodingBindingElement 類別。
建構函式
| 名稱 | Description |
|---|---|
| BinaryMessageEncodingBindingElement() |
初始化 BinaryMessageEncodingBindingElement 類別的新執行個體。 |
屬性
| 名稱 | Description |
|---|---|
| CompressionFormat |
取得或設定綁定元素的壓縮格式。 |
| MaxReadPoolSize |
取得或設定分配給池池並準備處理來電訊息的最大 XML 讀取器數量。 |
| MaxSessionSize |
取得或設定會話中可用的最大記憶體量,以優化傳輸程序。 |
| MaxWritePoolSize |
取得或設定分配到池中且已準備好處理外發訊息的最大 XML 寫入者數量。 |
| MessageVersion |
接收或設定 SOAP 訊息,並 WS-Addressing 使用或預期的版本。 |
| ReaderQuotas |
取得或設定對可由端點處理的 XML 訊息複雜度設限,這些訊息由配置使用此綁定元素。 |
方法
| 名稱 | Description |
|---|---|
| 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) |
明確介面實作
| 名稱 | Description |
|---|---|
| IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext) |
將自訂的二進位訊息編碼元素寫入終端的產生元資料中。 |
| IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext) |
在產生的 WSDL 中寫入自訂的二進位訊息編碼元素,用於合約。 |
| IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext) |
將自訂的二進位訊息編碼元素寫入產生的 WSDL 中,作為端點的使用者。 |