BinaryMessageEncodingBindingElement 类

定义

用于指定编码消息时所采用的 .NET 二进制 XML 格式的绑定元素。

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)

返回一个值,该值指示绑定元素是否可以为特定类型的通道生成通道工厂。

(继承自 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 中。

适用于