NetTcpBinding Clase

Definición

Un enlace seguro y confiable adecuado para la comunicación entre equipos.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
Herencia
NetTcpBinding
Derivado
Implementaciones

Ejemplos

En este ejemplo se muestra cómo crear un NetTcpBinding , estableciendo el modo de seguridad y el tipo de credencial de transporte.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;

Comentarios

NetTcpBindingGenera de forma predeterminada una pila de comunicación en tiempo de ejecución, que utiliza la seguridad de transporte, TCP para la entrega de mensajes y una codificación de mensajes binaria.The NetTcpBinding generates a run-time communication stack by default, which uses transport security, TCP for message delivery, and a binary message encoding. Este enlace es una opción proporcionada por el sistema Windows Communication Foundation (WCF) adecuada para la comunicación a través de una intranet.This binding is an appropriate Windows Communication Foundation (WCF) system-provided choice for communicating over an Intranet.

La configuración predeterminada de NetTcpBinding es más rápida que la proporcionada por WSHttpBinding , pero está destinada únicamente a la comunicación de WCF.The default configuration for the NetTcpBinding is faster than the configuration provided by the WSHttpBinding, but it is intended only for WCF communication. El comportamiento de seguridad es configurable mediante el parámetro opcional securityMode en el constructor.The security behavior is configurable using the optional securityMode parameter in the constructor. El uso de WS-ReliableMessaging es configurable utilizando el parámetro reliableSessionEnabled opcional.The use of WS-ReliableMessaging is configurable using the optional reliableSessionEnabled parameter. Pero la mensajería de confianza está apagada de forma predeterminada.But reliable messaging is off by default. Más generalmente, los enlaces proporcionados por el sistema HTTP como WSHttpBinding y BasicHttpBinding se configuran para activar de forma predeterminada las cosas, mientras que el enlace NetTcpBinding desactiva de forma predeterminada las cosas para que tenga que inscribirse para obtener compatibilidad, por ejemplo, para una de las especificaciones de 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. Esto significa que la configuración predeterminada para TCP es más rápida en intercambiar los mensajes entre los extremos que la configurada de forma predeterminada para los enlaces 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.

Advertencia

NetTcpBindingUtiliza la agrupación de conexiones TCP según el nombre DNS del host del servicio y el número de puerto en el que el servicio está escuchando.The NetTcpBinding uses TCP connection pooling based on the service's host DNS name and the port number the service is listening on. Esto funciona bien cuando un cliente realiza llamadas a distintos servicios en distintos puertos o los servicios se hospedan en un único proceso y comparten un puerto.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. Si un solo cliente llama a varios servicios que comparten un puerto que se hospedan en procesos diferentes o si se hospedaron o en IIS, la agrupación del lado cliente puede dar lugar a problemas en los que se reutiliza una conexión al servicio a para el servicio B, lo que da lugar a que se produzca una excepción, se anule la conexión y se cree un nuevo canal.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. Para evitar este problema, use CustomBinding y especifique un ConnectionPoolSettings. GroupName diferente para cada servicio con el que se comunica el cliente.To avoid this problem, use a CustomBinding and specify a different ConnectionPoolSettings.GroupName for each service the client communicates with.

Constructores

NetTcpBinding()

Inicializa una nueva instancia de la clase NetTcpBinding.Initializes a new instance of the NetTcpBinding class.

NetTcpBinding(SecurityMode)

Inicializa una instancia nueva de la clase NetTcpBinding con el tipo de seguridad utilizado especificado.Initializes a new instance of the NetTcpBinding class with the type of security used specified.

NetTcpBinding(SecurityMode, Boolean)

Inicializa una instancia nueva de la clase NetTcpBinding con el tipo de seguridad utilizado especificado, y con un valor que indica si se habilitan explícitamente las sesiones de confianza.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)

Inicializa una instancia nueva de la clase NetTcpBinding con el nombre de configuración especificado.Initializes a new instance of the NetTcpBinding class with a specified configuration name.

Propiedades

CloseTimeout

Obtiene o establece el intervalo de tiempo proporcionado para que una conexión se cierre antes de que el transporte genere una excepción.Gets or sets the interval of time provided for a connection to close before the transport raises an exception.

(Heredado de Binding)
EnvelopeVersion

Obtiene la versión de SOAP que se utiliza para los mensajes procesados por este enlace.Gets the version of SOAP that is used for messages processed by this binding.

HostNameComparisonMode

Obtiene o establece un valor que indica si el nombre del host se usa para alcanzar el servicio al coincidir con el URI.Gets or sets a value that indicates whether the hostname is used to reach the service when matching the URI.

ListenBacklog

Obtiene o establece el número máximo de solicitudes de conexión en cola que pueden estar pendientes.Gets or sets the maximum number of queued connection requests that can be pending.

MaxBufferPoolSize

Obtiene o establece el tamaño máximo permitido, en bytes, para un grupo de búferes que almacena mensajes TCP procesados por el enlace.Gets or sets the maximum size, in bytes, allowed for a buffer pool that stores TCP messages processed by the binding.

MaxBufferSize

Obtiene o establece un valor que especifica el tamaño máximo, en bytes, del búfer usado para almacenar los mensajes en memoria.Gets or sets a value that specifies the maximum size, in bytes, of the buffer used to store messages in memory.

MaxConnections

Obtiene o establece un valor que controla el número máximo de conexiones que se van a agrupar para su reutilización subsiguiente en el cliente y el número máximo de conexiones que pueden estar pendientes de envío en el servidor.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

Obtiene o establece el tamaño máximo, en bytes, para un mensaje recibido que el enlace procesa.Gets or sets the maximum size, in bytes, for a received message that is processed by the binding.

MessageVersion

Obtiene la versión de mensaje utilizada por los clientes y servicios configurados con el enlace.Gets the message version used by clients and services configured with the binding.

(Heredado de Binding)
Name

Obtiene o establece el nombre del enlace.Gets or sets the name of the binding.

(Heredado de Binding)
Namespace

Obtiene o establece el espacio de nombres XML del enlace.Gets or sets the XML namespace of the binding.

(Heredado de Binding)
OpenTimeout

Obtiene o establece el intervalo de tiempo proporcionado para que una conexión se abra antes de que el transporte genere una excepción.Gets or sets the interval of time provided for a connection to open before the transport raises an exception.

(Heredado de Binding)
PortSharingEnabled

Obtiene o establece un valor que indica si el uso compartido de puerto TCP está habilitado para la conexión configurada con este enlace.Gets or sets a value that indicates whether TCP port sharing is enabled for the connection configured with this binding.

ReaderQuotas

Obtiene o establece restricciones en la complejidad de mensajes SOAP que pueden ser procesados por puntos de conexión configurados con este enlace.Gets or sets constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding.

ReceiveTimeout

Obtiene o establece el intervalo de tiempo que una conexión puede permanecer inactiva, durante el cual no se recibe ningún mensaje de la aplicación, antes de interrumpir la conexión.Gets or sets the interval of time that a connection can remain inactive, during which no application messages are received, before it is dropped.

(Heredado de Binding)
ReliableSession

Obtiene un objeto que indica si se establece una sesión confiable entre los extremos del canal.Gets an object that indicates whether a reliable session is established between channel endpoints.

Scheme

Devuelve el esquema URI para el transporte.Returns the URI scheme for the transport.

Security

Obtiene un objeto que especifica el tipo de seguridad utilizado con servicios configurados con este enlace.Gets an object that specifies the type of security used with services configured with this binding.

SendTimeout

Obtiene o establece el intervalo de tiempo proporcionado para que una operación de escritura se complete antes de que el transporte genere una excepción.Gets or sets the interval of time provided for a write operation to complete before the transport raises an exception.

(Heredado de Binding)
TransactionFlow

Obtiene o establece un valor que determina si se habilita el flujo de transacciones.Gets or sets a value that determines whether transaction flow is enabled.

TransactionProtocol

Obtiene o establece el protocolo de transacciones utilizado por el servicio para el flujo de transacciones.Gets or sets the transactions protocol used by the service to flow transactions.

TransferMode

Obtiene o establece un valor que indica si el servicio configurado con el enlace utiliza modos de transmisión o de almacenamiento en búfer (o ambos) para transferir los mensajes.Gets or sets a value that indicates whether the service configured with the binding uses streamed or buffered (or both) modes of message transfer.

Métodos

BuildChannelFactory<TChannel>(BindingParameterCollection)

Compila la pila de generador de canales en el cliente que crea un tipo especificado de canal y satisface las características especificadas por una colección de parámetros de enlace.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.

(Heredado de Binding)
BuildChannelFactory<TChannel>(Object[])

Compila la pila de generador de canales en el cliente que crea un tipo especificado de canal y eso satisface las características especificadas por una matriz de objetos.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.

(Heredado de Binding)
BuildChannelListener<TChannel>(BindingParameterCollection)

Compila el agente de escucha del canal en el servicio que acepta un tipo especificado de canal y eso satisface las características especificadas por una colección de parámetros de enlace.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.

(Heredado de Binding)
BuildChannelListener<TChannel>(Object[])

Compila el agente de escucha del canal en el servicio que acepta un tipo especificado de canal y satisface las características especificadas.Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

(Heredado de Binding)
BuildChannelListener<TChannel>(Uri, BindingParameterCollection)

Compila el agente de escucha del canal en el servicio que acepta un tipo especificado de canal y satisface las características especificadas.Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

(Heredado de Binding)
BuildChannelListener<TChannel>(Uri, Object[])

Compila el agente de escucha del canal en el servicio que acepta un tipo especificado de canal y satisface las características especificadas.Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

(Heredado de Binding)
BuildChannelListener<TChannel>(Uri, String, BindingParameterCollection)

Compila el agente de escucha del canal en el servicio que acepta un tipo especificado de canal y satisface las características especificadas.Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

(Heredado de Binding)
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, BindingParameterCollection)

Compila el agente de escucha del canal en el servicio que acepta un tipo especificado de canal y satisface las características especificadas.Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

(Heredado de Binding)
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, Object[])

Compila el agente de escucha del canal en el servicio que acepta un tipo especificado de canal y satisface las características especificadas.Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

(Heredado de Binding)
BuildChannelListener<TChannel>(Uri, String, Object[])

Compila el agente de escucha del canal en el servicio que acepta un tipo especificado de canal y satisface las características especificadas.Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

(Heredado de Binding)
CanBuildChannelFactory<TChannel>(BindingParameterCollection)

Devuelve un valor que indica si el enlace actual puede compilar una pila de generador de canales en el cliente que satisfaga la colección especificada de parámetros de enlace.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.

(Heredado de Binding)
CanBuildChannelFactory<TChannel>(Object[])

Devuelve un valor que indica si el enlace actual puede compilar una pila de generador de canales en el cliente que satisfaga los requisitos especificados por una matriz de objetos.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.

(Heredado de Binding)
CanBuildChannelListener<TChannel>(BindingParameterCollection)

Devuelve un valor que indica si el enlace actual puede compilar un agente de escucha de canal en el servicio que satisfaga la colección especificada de parámetros de enlace.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.

(Heredado de Binding)
CanBuildChannelListener<TChannel>(Object[])

Devuelve un valor que indica si el enlace actual puede compilar un agente de escucha de canal en el servicio que satisfaga la colección especificada de parámetros de enlace.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.

(Heredado de Binding)
CreateBindingElements()

Crea una colección con los elementos de enlace para el enlace.Creates a collection with the binding elements for the binding.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.Determines whether the specified object is equal to the current object.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Heredado de Object)
GetProperty<T>(BindingParameterCollection)

Devuelve un objeto escrito solicitado de la capa adecuada en la pila de enlace si está presente.Returns a typed object requested, if present, from the appropriate layer in the binding stack.

(Heredado de Binding)
GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
ShouldSerializeListenBacklog()

Devuelve un valor que indica si la propiedad ListenBacklog ha cambiado respecto de su valor predeterminado y se debe serializar.Returns a value that indicates whether the ListenBacklog property has changed from its default value and should be serialized.

ShouldSerializeMaxConnections()

Devuelve un valor que indica si la propiedad MaxConnections ha cambiado respecto de su valor predeterminado y se debe serializar.Returns a value that indicates whether the MaxConnections property has changed from its default value and should be serialized.

ShouldSerializeName()

Devuelve un valor si se debe serializar el nombre del enlace.Returns whether the name of the binding should be serialized.

(Heredado de Binding)
ShouldSerializeNamespace()

Devuelve un valor si se debe serializar el espacio de nombres.Returns whether the namespace of the binding should be serialized.

(Heredado de Binding)
ShouldSerializeReaderQuotas()

Devuelve un valor que indica si la propiedad ReaderQuotas ha cambiado respecto de su valor predeterminado y se debe serializar.Returns a value that indicates whether the ReaderQuotas property has changed from its default value and should be serialized.

ShouldSerializeReliableSession()

Devuelve un valor que indica si la propiedad ReliableSession ha cambiado respecto de su valor predeterminado y se debe serializar.Returns a value that indicates whether the ReliableSession property has changed from its default value and should be serialized.

ShouldSerializeSecurity()

Devuelve un valor que indica si la propiedad Security ha cambiado respecto de su valor predeterminado y se debe serializar.Returns a value that indicates whether the Security property has changed from its default value and should be serialized.

ShouldSerializeTransactionProtocol()

Devuelve un valor que indica si la propiedad TransactionProtocol ha cambiado respecto de su valor predeterminado y se debe serializar.Returns a value that indicates whether the TransactionProtocol property has changed from its default value and should be serialized.

ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Heredado de Object)

Implementaciones de interfaz explícitas

IBindingRuntimePreferences.ReceiveSynchronously

Obtiene un valor que indica si las solicitudes de entrada se administran de forma sincrónica o asincrónica.Gets a value that indicates whether incoming requests are handled synchronously or asynchronously.

Se aplica a