Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Especifica un enlace seguro, confiable y optimizado adecuado para la comunicación entre máquinas. De forma predeterminada, genera una pila de comunicación en tiempo de ejecución con Seguridad de Windows para la seguridad de mensajes y la autenticación, TCP para la entrega de mensajes y la codificación de mensajes binarios.
<configuración>
<system.serviceModel>
<Enlaces>
<netTcpBinding>
Syntax
<netTcpBinding>
<binding closeTimeout="TimeSpan"
hostNameComparisonMode="StrongWildCard/Exact/WeakWildcard"
listenBacklog="Integer"
maxBufferPoolSize="integer"
maxBufferSize="Integer"
maxConnections="Integer"
maxReceivedMessageSize="Integer"
name="string"
openTimeout="TimeSpan"
portSharingEnabled="Boolean"
receiveTimeout="TimeSpan"
sendTimeout="TimeSpan"
transactionFlow="Boolean"
transactionProtocol="OleTransactions/WSAtomicTransactionOctober2004"
transferMode="Buffered/Streamed/StreamedRequest/StreamedResponse">
<reliableSession ordered="Boolean"
inactivityTimeout="TimeSpan"
enabled="Boolean" />
<security mode="None/Transport/Message/Both">
<message clientCredentialType="None/Windows/UserName/Certificate/CardSpace"
algorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15" />
<transport clientCredentialType="None/Windows/Certificate"
protectionLevel="None/Sign/EncryptAndSign" />
</security>
<readerQuotas maxArrayLength="Integer"
maxBytesPerRead="Integer"
maxDepth="Integer"
maxNameTableCharCount="Integer"
maxStringContentLength="Integer" />
</binding>
</netTcpBinding>
Atributos y elementos
En las siguientes secciones se describen los atributos, los elementos secundarios y los elementos primarios.
Attributes
| Atributo | Description |
|---|---|
closeTimeout |
Valor TimeSpan que especifica el intervalo de tiempo proporcionado para que se complete una operación de cierre. Este valor debe ser mayor o igual que Zero. El valor predeterminado es 00:01:00. |
hostNameComparisonMode |
Especifica el modo de comparación de nombres de host HTTP que se usa para analizar los URI. Este atributo es de tipo HostNameComparisonMode, que indica si el nombre de host se usa para llegar al servicio al buscar coincidencias en el URI. El valor predeterminado es StrongWildcard, que omite el nombre de host en la coincidencia. |
listenBacklog |
Entero positivo que especifica el número máximo de canales que esperan ser aceptados en el agente de escucha. Las conexiones que superen este límite se ponen en cola hasta que el espacio por debajo del límite esté disponible. El connectionTimeout atributo limita el tiempo que un cliente esperará a conectarse antes de iniciar una excepción de conexión. El valor predeterminado es 10. |
maxBufferPoolSize |
Entero que especifica el tamaño máximo del grupo de búferes para este enlace. El valor predeterminado es 512 * 1024 bytes. Muchas partes de Windows Communication Foundation (WCF) usan búferes. La creación y destrucción de búferes cada vez que se usan es costosa y la recolección de elementos no utilizados para los búferes también es costosa. Con los grupos de búferes, puede tomar un búfer del grupo, usarlo y devolverlo al grupo una vez que haya terminado. Por lo tanto, se evita la sobrecarga en la creación y destrucción de búferes. |
maxBufferSize |
Entero positivo que especifica el tamaño máximo, en bytes, del búfer usado para almacenar los mensajes en la memoria. Si el transferMode atributo es igual a Buffered, este atributo debe ser igual al valor del maxReceivedMessageSize atributo.Si el transferMode atributo es igual a Streamed, este atributo no puede ser mayor que el valor del maxReceivedMessageSize atributo y debe ser al menos el tamaño de los encabezados.El valor predeterminado es 65536. Para obtener más información, consulte MaxBufferSize. |
maxConnections |
Entero que especifica el número máximo de conexiones salientes y entrantes que creará o aceptará el servicio. Las conexiones entrantes y salientes se cuentan con un límite independiente especificado por este atributo. Las conexiones entrantes que superen el límite se ponen en cola hasta que haya un espacio por debajo del límite disponible. Las conexiones salientes que superen el límite se ponen en cola hasta que haya un espacio por debajo del límite disponible. El valor predeterminado es 10. |
maxReceivedMessageSize |
Entero positivo que especifica el tamaño máximo del mensaje, en bytes, incluidos los encabezados, que se pueden recibir en un canal configurado con este enlace. El remitente de un mensaje que supere este límite recibirá un error soap. El receptor quita el mensaje y crea una entrada del evento en el registro de seguimiento. El valor predeterminado es 65536. |
name |
Cadena que contiene el nombre de configuración del enlace. Este valor debe ser único porque se usa como identificación para el enlace. A partir de .NET Framework 4, los enlaces y los comportamientos no son necesarios para tener un nombre. Para obtener más información sobre la configuración predeterminada y los enlaces y comportamientos sin nombre, vea Configuración simplificada y Configuración simplificada para servicios WCF. |
openTimeout |
Valor TimeSpan que especifica el intervalo de tiempo proporcionado para que se complete una operación abierta. Este valor debe ser mayor o igual que Zero. El valor predeterminado es 00:01:00. |
portSharingEnabled |
Valor booleano que especifica si el uso compartido de puertos TCP está habilitado para esta conexión. Si es false, cada enlace usa su propio puerto exclusivo. Esta configuración solo es relevante para los servicios, ya que los clientes no se ven afectados. |
receiveTimeout |
Valor TimeSpan que especifica el intervalo de tiempo proporcionado para que se complete una operación de recepción. Este valor debe ser mayor o igual que Zero. El valor predeterminado es 00:10:00. |
sendTimeout |
Valor TimeSpan que especifica el intervalo de tiempo proporcionado para que se complete una operación de envío. Este valor debe ser mayor o igual que Zero. El valor predeterminado es 00:01:00. |
transactionFlow |
Valor booleano que especifica si el enlace admite el flujo de WS-Transactions. El valor predeterminado es false. |
transactionProtocol |
Especifica el protocolo de transacción que se va a usar con este enlace. Los valores válidos son - OleTransactions - WSAtomicTransactionOctober2004 El valor predeterminado es OleTransactions. Este atributo es de tipo TransactionProtocol. |
transferMode |
Valor TransferMode que especifica si los mensajes se almacenan en búfer o se transmiten o una solicitud o respuesta. |
Elementos secundarios
| Elemento | Description |
|---|---|
| <seguridad> | Define la configuración de seguridad para el enlace. Este elemento es de tipo NetTcpSecurityElement. |
| <readerQuotas> | Define las restricciones sobre la complejidad de los mensajes SOAP que los puntos de conexión configurados con este enlace pueden procesar. Este elemento es de tipo XmlDictionaryReaderQuotasElement. |
| <reliableSession> | Especifica si se establecen sesiones confiables entre puntos de conexión de canal. |
Elementos primarios
| Elemento | Description |
|---|---|
| <Enlaces> | Este elemento contiene una colección de enlaces estándar y personalizados. |
Observaciones
Este enlace genera una pila de comunicación en tiempo de ejecución de forma predeterminada, que usa la seguridad de transporte, TCP para la entrega de mensajes y una codificación de mensajes binarios. Este enlace es una opción adecuada proporcionada por el sistema de Windows Communication Foundation (WCF) para comunicarse a través de una intranet.
La configuración predeterminada de netTcpBinding es más rápida que la configuración proporcionada por , wsHttpBindingpero solo está pensada para la comunicación WCF. El comportamiento de seguridad se puede configurar mediante el atributo opcional securityMode . El uso de WS-ReliableMessaging se puede configurar mediante el atributo opcional reliableSessionEnabled . Pero la mensajería confiable está desactivada de forma predeterminada. Por lo general, los enlaces proporcionados por el sistema HTTP como wsHttpBinding y basicHttpBinding están configurados para activar las cosas de forma predeterminada, mientras que el netTcpBinding enlace desactiva las cosas de forma predeterminada para que tenga que optar por obtener soporte técnico, por ejemplo, para una de las especificaciones WS-*. Esto significa que la configuración predeterminada para TCP es más rápida al intercambiar mensajes entre puntos de conexión que los configurados para los enlaces HTTP de forma predeterminada.
Example
El enlace se especifica en los archivos de configuración para el cliente y el servicio. El tipo de enlace se especifica en el binding atributo del <endpoint> elemento . Si desea configurar el enlace netTcpBinding y cambiar algunos de sus valores, es necesario definir una configuración de enlace. El punto de conexión debe hacer referencia a la configuración de enlace con un bindingConfiguration atributo . En el ejemplo siguiente, se define una configuración de enlace.
<services>
<service name="Microsoft.ServiceModel.Samples.CalculatorService"
behaviorConfiguration="CalculatorServiceBehavior">
...
<endpoint address=""
binding="netTcpBinding"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
...
</service>
</services>
<bindings>
<netTcpBinding>
<binding closeTimeout="00:01:00"
openTimeout="00:01:00"
receiveTimeout="00:10:00"
sendTimeout="00:01:00"
transactionFlow="false"
transferMode="Buffered"
transactionProtocol="OleTransactions"
hostNameComparisonMode="StrongWildcard"
listenBacklog="10"
maxBufferPoolSize="524288"
maxBufferSize="65536"
maxConnections="10"
maxReceivedMessageSize="65536">
<readerQuotas maxDepth="32"
maxStringContentLength="8192"
maxArrayLength="16384"
maxBytesPerRead="4096"
maxNameTableCharCount="16384" />
<reliableSession ordered="true"
inactivityTimeout="00:10:00"
enabled="false" />
<security mode="Transport">
<transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" />
</security>
</binding>
</netTcpBinding>
</bindings>