NetTcpBinding 类

定义

一种适合于跨计算机通信的安全可靠的绑定。A secure, reliable binding suitable for cross-machine communication.

public ref class NetTcpBinding : System::ServiceModel::Channels::Binding
public ref class NetTcpBinding : System::ServiceModel::Channels::Binding, System::ServiceModel::Channels::IBindingRuntimePreferences
public class NetTcpBinding : System.ServiceModel.Channels.Binding
public class NetTcpBinding : System.ServiceModel.Channels.Binding, System.ServiceModel.Channels.IBindingRuntimePreferences
type NetTcpBinding = class
    inherit Binding
type NetTcpBinding = class
    inherit Binding
    interface IBindingRuntimePreferences
Public Class NetTcpBinding
Inherits Binding
Public Class NetTcpBinding
Inherits Binding
Implements IBindingRuntimePreferences
继承
NetTcpBinding
派生
实现

示例

此示例演示如何创建 NetTcpBinding,以及如何设置安全模式和传输凭据类型。This example shows how to create a NetTcpBinding, setting the security mode and transport credential type.

NetTcpBinding binding = new NetTcpBinding();
binding.Security.Mode = SecurityMode.Transport;
binding.Security.Transport.ClientCredentialType = TcpClientCredentialType.Certificate;

注解

默认情况下,NetTcpBinding 会生成运行时通信堆栈,该堆栈使用传输安全、用于消息传递的 TCP 和二进制消息编码。The NetTcpBinding generates a run-time communication stack by default, which uses transport security, TCP for message delivery, and a binary message encoding. 此绑定是适当的 Windows Communication Foundation (WCF)系统提供的选择,用于通过 Intranet 进行通信。This binding is an appropriate Windows Communication Foundation (WCF) system-provided choice for communicating over an Intranet.

NetTcpBinding 的默认配置比 WSHttpBinding提供的配置要快,但它仅适用于 WCF 通信。The default configuration for the NetTcpBinding is faster than the configuration provided by the WSHttpBinding, but it is intended only for WCF communication. 安全行为可通过在构造函数中使用可选的 securityMode 参数进行配置。The security behavior is configurable using the optional securityMode parameter in the constructor. 通过使用可选的 reliableSessionEnabled 参数,可以配置 WS-ReliableMessaging 的用法。The use of WS-ReliableMessaging is configurable using the optional reliableSessionEnabled parameter. 但是在默认情况下可靠消息传递为关闭状态。But reliable messaging is off by default. 一般来说,HTTP 系统提供的绑定(如 WSHttpBindingBasicHttpBinding)是默认配置为打开事项,而 NetTcpBinding 绑定是默认配置为关闭事项,因此,你必须选择性加入所需事项才能获取支持,例如获取对一种 WS-* 规范的支持。More generally, the HTTP system-provided bindings such as WSHttpBinding and BasicHttpBinding are configured to turn things on by default, whereas the NetTcpBinding binding turns things off by default so that you have to opt-in to get support, for example, for one of the WS-* specifications. 这意味着在终结点之间交换消息方面,TCP 的默认配置比 HTTP 绑定的默认配置更快。This means that the default configuration for TCP is faster at exchanging messages between endpoints than that configured for the HTTP bindings by default.

警告

NetTcpBinding 使用基于服务的主机 DNS 名称和服务正在侦听的端口号的 TCP 连接池。The NetTcpBinding uses TCP connection pooling based on the service's host DNS name and the port number the service is listening on. 当客户端调用不同端口上的不同服务,或者服务在单个进程中托管并共享某个端口时,这非常有效。This works well when a client makes calls to different services on different ports, or services are hosted in a single process and share a port. 如果单个客户端调用共享某个端口的多个服务(这些服务共享在不同进程中托管的端口,或者是托管在 IIS 上的端口),则客户端池可能会导致出现问题,即为服务 B 重复使用与服务 A 的连接,从而导致引发异常,连接中止并创建新通道。If a single client calls multiple services sharing a port that are hosted in different processes, or are WAS/IIS hosted, the client side pooling may lead to problems where a connection to Service A is reused for Service B, resulting in an exception being thrown, the connection aborted, and a new channel created. 若要避免此问题,请使用 CustomBinding 并为客户端与之通信的每个服务指定不同的 ConnectionPoolSettings。To avoid this problem, use a CustomBinding and specify a different ConnectionPoolSettings.GroupName for each service the client communicates with.

构造函数

NetTcpBinding()

初始化 NetTcpBinding 类的新实例。Initializes a new instance of the NetTcpBinding class.

NetTcpBinding(SecurityMode)

用所使用的指定安全类型初始化 NetTcpBinding 类的新实例。Initializes a new instance of the NetTcpBinding class with the type of security used specified.

NetTcpBinding(SecurityMode, Boolean)

用所使用的指定安全类型和一个指示是否显式启用安全会话的值来初始化 NetTcpBinding 类的新实例。Initializes a new instance of the NetTcpBinding class with the type of security used specified and with a value that indicates whether reliable sessions are explicitly enabled.

NetTcpBinding(String)

使用指定配置名称初始化 NetTcpBinding 类的新实例。Initializes a new instance of the NetTcpBinding class with a specified configuration name.

属性

CloseTimeout

获取或设置在传输引发异常之前可用于关闭连接的时间间隔。Gets or sets the interval of time provided for a connection to close before the transport raises an exception.

(继承自 Binding)
EnvelopeVersion

获取此绑定处理的消息将要使用的 SOAP 版本。Gets the version of SOAP that is used for messages processed by this binding.

HostNameComparisonMode

获取或设置一个值,该值指示在对 URI 进行匹配时,是否使用主机名来访问服务。Gets or sets a value that indicates whether the hostname is used to reach the service when matching the URI.

ListenBacklog

获取或设置可挂起的最大排队连接请求数。Gets or sets the maximum number of queued connection requests that can be pending.

MaxBufferPoolSize

获取或设置缓冲池允许的最大大小(以字节为单位),该缓冲池用于存储由绑定处理的 TCP 消息。Gets or sets the maximum size, in bytes, allowed for a buffer pool that stores TCP messages processed by the binding.

MaxBufferSize

获取或设置一个值,该值指定内存中用于存储消息的缓冲区的最大大小(以字节为单位)。Gets or sets a value that specifies the maximum size, in bytes, of the buffer used to store messages in memory.

MaxConnections

获取或设置一个值,该值控制客户端上可存入池中以备后续重复使用的最大连接数,以及服务器上可挂起调度的最大连接数。Gets or sets a value that controls the maximum number of connections to be pooled for subsequent reuse on the client and the maximum number of connections allowed to be pending dispatch on the server.

MaxReceivedMessageSize

获取或设置绑定可处理的消息最大接收字节大小。Gets or sets the maximum size, in bytes, for a received message that is processed by the binding.

MessageVersion

获取由绑定所配置的客户端和服务使用的消息版本。Gets the message version used by clients and services configured with the binding.

(继承自 Binding)
Name

获取或设置绑定的名称。Gets or sets the name of the binding.

(继承自 Binding)
Namespace

获取或设置绑定的 XML 命名空间。Gets or sets the XML namespace of the binding.

(继承自 Binding)
OpenTimeout

获取或设置在传输引发异常之前可用于打开连接的时间间隔。Gets or sets the interval of time provided for a connection to open before the transport raises an exception.

(继承自 Binding)
PortSharingEnabled

获取或设置一个值,该值指示是否为采用此绑定配置的连接启用 TCP 端口共享。Gets or sets a value that indicates whether TCP port sharing is enabled for the connection configured with this binding.

ReaderQuotas

获取或设置可由配置了此绑定的终结点处理的 SOAP 消息的复杂性约束。Gets or sets constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding.

ReceiveTimeout

获取或设置连接在撤消之前保持非活动状态的最大时间间隔,在此时间间隔内未接收任何应用程序消息。Gets or sets the interval of time that a connection can remain inactive, during which no application messages are received, before it is dropped.

(继承自 Binding)
ReliableSession

获取一个对象,该对象指示是否在通道终结点之间建立可靠会话。Gets an object that indicates whether a reliable session is established between channel endpoints.

Scheme

返回传输的 URI 方案。Returns the URI scheme for the transport.

Security

获取一个对象,该对象指定与采用此绑定配置的服务一起使用的安全类型。Gets an object that specifies the type of security used with services configured with this binding.

SendTimeout

获取或设置在传输引发异常之前可用于完成写入操作的时间间隔。Gets or sets the interval of time provided for a write operation to complete before the transport raises an exception.

(继承自 Binding)
TransactionFlow

获取或设置一个值,该值确定是否启用事务流。Gets or sets a value that determines whether transaction flow is enabled.

TransactionProtocol

获取或设置服务在对事务进行流处理时使用的事务处理协议。Gets or sets the transactions protocol used by the service to flow transactions.

TransferMode

获取或设置一个值,该值指示使用此绑定配置的服务是使用消息传输的流处理模式、缓冲模式还是同时使用这两种模式。Gets or sets a value that indicates whether the service configured with the binding uses streamed or buffered (or both) modes of message transfer.

方法

BuildChannelFactory<TChannel>(BindingParameterCollection)

在客户端上生成通道工厂堆栈,此通道工厂堆栈创建具有指定类型的通道并满足绑定参数集合所指定的功能。Builds the channel factory stack on the client that creates a specified type of channel and that satisfies the features specified by a collection of binding parameters.

(继承自 Binding)
BuildChannelFactory<TChannel>(Object[])

在客户端上生成通道工厂堆栈,该通道工厂堆栈创建具有指定类型的通道并满足对象数组所指定的功能。Builds the channel factory stack on the client that creates a specified type of channel and that satisfies the features specified by an object array.

(继承自 Binding)
BuildChannelListener<TChannel>(BindingParameterCollection)

在服务上生成通道侦听器,该通道侦听器接受具有指定类型的通道并满足绑定参数集合所指定的功能。Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified by a collection of binding parameters.

(继承自 Binding)
BuildChannelListener<TChannel>(Object[])

在服务上生成通道侦听器,该通道侦听器接受具有指定类型的通道并满足所指定的功能。Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

(继承自 Binding)
BuildChannelListener<TChannel>(Uri, BindingParameterCollection)

在服务上生成通道侦听器,该通道侦听器接受具有指定类型的通道并满足所指定的功能。Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

(继承自 Binding)
BuildChannelListener<TChannel>(Uri, Object[])

在服务上生成通道侦听器,该通道侦听器接受具有指定类型的通道并满足所指定的功能。Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

(继承自 Binding)
BuildChannelListener<TChannel>(Uri, String, BindingParameterCollection)

在服务上生成通道侦听器,该通道侦听器接受具有指定类型的通道并满足所指定的功能。Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

(继承自 Binding)
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, BindingParameterCollection)

在服务上生成通道侦听器,该通道侦听器接受具有指定类型的通道并满足所指定的功能。Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

(继承自 Binding)
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, Object[])

在服务上生成通道侦听器,该通道侦听器接受具有指定类型的通道并满足所指定的功能。Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

(继承自 Binding)
BuildChannelListener<TChannel>(Uri, String, Object[])

在服务上生成通道侦听器,该通道侦听器接受具有指定类型的通道并满足所指定的功能。Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

(继承自 Binding)
CanBuildChannelFactory<TChannel>(BindingParameterCollection)

返回一个值,该值指示当前绑定是否可以在客户端上生成满足指定绑定参数集合的通道工厂堆栈。Returns a value that indicates whether the current binding can build a channel factory stack on the client that satisfies the collection of binding parameters specified.

(继承自 Binding)
CanBuildChannelFactory<TChannel>(Object[])

返回一个值,该值指示当前绑定是否可以在客户端上生成满足对象数组所指定的需求的通道工厂堆栈。Returns a value that indicates whether the current binding can build a channel factory stack on the client that satisfies the requirements specified by an object array.

(继承自 Binding)
CanBuildChannelListener<TChannel>(BindingParameterCollection)

返回一个值,该值指示当前绑定是否可以在服务上生成满足指定绑定参数集合的通道侦听器堆栈。Returns a value that indicates whether the current binding can build a channel listener stack on the service that satisfies the collection of binding parameters specified.

(继承自 Binding)
CanBuildChannelListener<TChannel>(Object[])

返回一个值,该值指示当前绑定是否可以在服务上生成满足对象数组所指定的条件的通道侦听器堆栈。Returns a value that indicates whether the current binding can build a channel listener stack on the service that satisfies the criteria specified in an array of objects.

(继承自 Binding)
CreateBindingElements()

为绑定创建一个绑定元素集合。Creates a collection with the binding elements for the binding.

Equals(Object)

确定指定的对象是否等于当前对象。Determines whether the specified object is equal to the current object.

(继承自 Object)
GetHashCode()

用作默认哈希函数。Serves as the default hash function.

(继承自 Object)
GetProperty<T>(BindingParameterCollection)

从绑定堆栈的适当层返回所请求的类型化对象(如果存在)。Returns a typed object requested, if present, from the appropriate layer in the binding stack.

(继承自 Binding)
GetType()

获取当前实例的 TypeGets the Type of the current instance.

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。Creates a shallow copy of the current Object.

(继承自 Object)
ShouldSerializeListenBacklog()

返回一个值,该值指示 ListenBacklog 属性是否已更改,不再是默认值且应对其进行序列化。Returns a value that indicates whether the ListenBacklog property has changed from its default value and should be serialized.

ShouldSerializeMaxConnections()

返回一个值,该值指示 MaxConnections 属性是否已更改,不再是默认值且应对其进行序列化。Returns a value that indicates whether the MaxConnections property has changed from its default value and should be serialized.

ShouldSerializeName()

返回是否应序列化绑定名称。Returns whether the name of the binding should be serialized.

(继承自 Binding)
ShouldSerializeNamespace()

返回是否应序列化绑定命名空间。Returns whether the namespace of the binding should be serialized.

(继承自 Binding)
ShouldSerializeReaderQuotas()

返回一个值,该值指示 ReaderQuotas 属性是否已更改,不再是默认值且应对其进行序列化。Returns a value that indicates whether the ReaderQuotas property has changed from its default value and should be serialized.

ShouldSerializeReliableSession()

返回一个值,该值指示 ReliableSession 属性是否已更改,不再是默认值且应对其进行序列化。Returns a value that indicates whether the ReliableSession property has changed from its default value and should be serialized.

ShouldSerializeSecurity()

返回一个值,该值指示 Security 属性是否已更改,不再是默认值且应对其进行序列化。Returns a value that indicates whether the Security property has changed from its default value and should be serialized.

ShouldSerializeTransactionProtocol()

返回一个值,该值指示 TransactionProtocol 属性是否已更改,不再是默认值且应对其进行序列化。Returns a value that indicates whether the TransactionProtocol property has changed from its default value and should be serialized.

ToString()

返回一个表示当前对象的 string。Returns a string that represents the current object.

(继承自 Object)

显式接口实现

IBindingRuntimePreferences.ReceiveSynchronously

获取一个值,该值指示是同步处理传入请求还是异步处理传入请求。Gets a value that indicates whether incoming requests are handled synchronously or asynchronously.

适用于