<<wsHttpBinding>>
Define un enlace seguro, de confianza e interoperable, adecuado para contratos de servicio no dúplex. El enlace implementa las características siguientes: WS-Reliable Messaging para confiabilidad y WS-Security para la seguridad del mensaje y autenticación. El transporte es HTTP y la codificación del mensaje es codificación de texto/XML.
<<system.serviceModel>>
<enlaces>
<<wsHttpBinding>>
<wsHttpBinding>
<binding
allowCookies="Boolean"
bypassProxyOnLocal="Boolean"
closeTimeout="TimeSpan"
hostNameComparisonMode="StrongWildCard/Exact/WeakWildcard"
maxBufferPoolSize="integer"
maxReceivedMessageSize="Integer"
messageEncoding="Text/Mtom"
name="string"
openTimeout="TimeSpan"
proxyAddress="URI"
receiveTimeout="TimeSpan"
sendTimeout="TimeSpan"
textEncoding="UnicodeFffeTextEncoding/Utf16TextEncoding/Utf8TextEncoding"
transactionFlow="Boolean"
useDefaultWebProxy="Boolean">
<reliableSession ordered="Boolean"
inactivityTimeout="TimeSpan"
enabled="Boolean" />
<security mode="Message/None/Transport/TransportWithCredential">
<transport clientCredentialType="Basic/Certificate/Digest/None/Ntlm/Windows"
proxyCredentialType="Basic/Digest/None/Ntlm/Windows"
realm="string" />
<message
algorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15"
clientCredentialType="Certificate/IssuedToken/None/UserName/Windows"
establishSecurityContext="Boolean"
negotiateServiceCredential="Boolean" />
</security>
<readerQuotas maxDepth="integer"
maxStringContentLength="integer"
maxByteArrayContentLength="integer"
maxBytesPerRead="integer"
maxNameTableCharCount="integer" />
</binding>
</wsHttpBinding>
Atributos y elementos
Atributos
Atributo | Descripción |
---|---|
allowCookies |
Un valor booleano que indica si el cliente acepta las cookies y las propaga en solicitudes futuras. El valor predeterminado es false. Puede utilizar esta propiedad al interactuar con los servicios web de ASMX que utilizan cookies. De esta manera, puede estar seguro de que las cookies devueltas del servidor se copian automáticamente en todas las solicitudes de cliente futuras para ese servicio. |
bypassProxyOnLocal |
Un valor booleano que indica si se omitirá el servidor proxy para las direcciones locales. El valor predeterminado es false. |
closeTimeout |
Un valor TimeSpan que especifica el intervalo de tiempo de que dispone una operación de cierre para completarse. 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 utilizado para analizar los URI. Este atributo es del tipo HostnameComparisonMode, que indica si se va a utilizar el nombre del host para llegar al servicio cuando coincida en el URI. El valor predeterminado es StrongWildcard, que omite el nombre del host en la coincidencia. |
maxBufferPoolSize |
Entero que especifica el tamaño máximo del grupo de búferes para este enlace. El valor predeterminado es 524.288 bytes (512x1024). En muchas partes de Windows Communication Foundation (WCF) se utilizan búferes. Crear y destruir búferes cada vez que se usan es caro, y la recopilación de elementos no utilizados para los búferes también es cara. Con grupos de búferes, puede tomar un búfer del grupo, usarlo y devolverlo al grupo una vez haya terminado. Así se evitan los gastos generales al crear y destruir búferes. |
maxReceivedMessageSize |
Entero positivo que especifica el tamaño máximo del mensaje, en bytes, incluidos los encabezados, que se puede recibir en un canal configurado con este enlace. El remitente de un mensaje que supere este límite recibirá un error SOAP. El receptor elimina el mensaje y crea una entrada del evento en el registro de seguimiento. El valor predeterminado es 65536. |
messageEncoding |
Define el codificador utilizado para codificar el mensaje. Los valores válidos son los siguientes:
Este atributo es del tipo WSMessageEncoding. |
name |
Cadena que contiene el nombre de la configuración del enlace. Este valor debe ser único porque se utiliza como identificador del enlace. |
openTimeout |
Un valor TimeSpan que especifica el intervalo de tiempo de que dispone una operación de apertura para completarse. Este valor debe ser mayor o igual que Zero. El valor predeterminado es 00:01:00. |
proxyAddress |
Un URI que especifica la dirección del proxy HTTP. Si useSystemWebProxy es true, este valor debe ser null. El valor predeterminado es null. |
receiveTimeout |
Un valor TimeSpan que especifica el intervalo de tiempo de que dispone una operación de recepción para completarse. Este valor debe ser mayor o igual que Zero. El valor predeterminado es 00:01:00. |
sendTimeout |
Un valor TimeSpan que especifica el intervalo de tiempo de que dispone una operación de envío para completarse. Este valor debe ser mayor o igual que Zero. El valor predeterminado es 00:01:00. |
textEncoding |
Especifica la codificación del juego de caracteres que se va a usar para emitir los mensajes en el enlace. Los valores válidos son los siguientes:
El valor predeterminado es Utf8TextEncoding. Este atributo es del tipo Encoding. |
transactionFlow |
Valor booleano que especifica si el enlace admite las transacciones WS del flujo. El valor predeterminado es false. |
useDefaultWebProxy |
Un valor booleano que especifica si se utiliza el proxy HTTP del sistema configurado automáticamente. El valor predeterminado es true. |
Elementos secundarios
Elemento | Descripción |
---|---|
Define la configuración de seguridad del enlace. Este elemento es del tipo WSHttpSecurityElement. |
|
Define restricciones en la complejidad de los mensajes SOAP que pueden ser procesados por los extremos configurados con este enlace. Este elemento es del tipo XmlDictionaryReaderQuotasElement. |
|
Especifica si se establecen sesiones confiables entre los extremos del canal. |
Elementos primarios
Elemento | Descripción |
---|---|
Este elemento contiene una colección de enlaces estándar y personalizados. Cada entrada se identifica por su name. Los servicios utilizan los enlaces vinculándose a ellos mediante su name. |
Comentarios
El WSHttpBinding es similar al BasicHttpBinding pero proporciona más funciones de servicios web. Utiliza el transporte HTTP y proporciona seguridad para mensajes, como BasicHttpBinding, pero también proporciona transacciones, mensajería confiable y WS-Addressing, activada de forma predeterminada o disponible mediante un valor de control único.
Ejemplo
<configuration>
<system.ServiceModel>
<bindings>
<wsHttpBinding>
<binding name="test"
closeTimeout="00:00:10"
openTimeout="00:00:20"
receiveTimeout="00:00:30"
sendTimeout="00:00:40"
bypassProxyOnLocal="false"
transactionFlow="false"
hostNameComparisonMode="WeakWildcard"
maxMessageSize="1000"
messageEncoding="Mtom"
proxyAddress="http://foo/bar"
textEncoding="utf-16"
useDefaultWebProxy="false">
<reliableSession ordered="false"
inactivityTimeout="00:02:00"
enabled="true" />
<security mode="Transport">
<transport clientCredentialType="Digest"
proxyCredentialType="None"
realm="someRealm" />
<message clientCredentialType="Windows"
negotiateServiceCredential="false"
algorithmSuite="Aes128"
defaultProtectionLevel="None" />
</security>
</binding>
</wsHttpBinding>
</bindings>
</system.ServiceModel>
</configuration>
Consulte también
Referencia
WSHttpBinding
WSHttpBindingElement
Conceptos
Otros recursos
Windows Communication Foundation Bindings
Configuring System-Provided Bindings
Using Bindings to Configure Services and Clients