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.
Representa un enlace que un servicio de Windows Communication Foundation (WCF) puede usar para configurar y exponer puntos de conexión que pueden comunicarse con clientes y servicios web basados en ASMX y otros servicios que se ajustan al perfil básico 1.1 de WS-I.
<configuración>
<system.serviceModel>
<Enlaces>
<basicHttpBinding>
Syntax
<basicHttpBinding>
<binding allowCookies="Boolean"
bypassProxyOnLocal="Boolean"
closeTimeout="TimeSpan"
hostNameComparisonMode="StrongWildCard/Exact/WeakWildcard"
maxBufferPoolSize="Integer"
maxBufferSize="Integer"
maxReceivedMessageSize="Integer"
messageEncoding="Text/Mtom"
name="String"
openTimeout="TimeSpan"
proxyAddress="URI"
receiveTimeout="TimeSpan"
sendTimeout="TimeSpan"
textEncoding="UnicodeFffeTextEncoding/Utf16TextEncoding/Utf8TextEncoding"
transferMode="Buffered/Streamed/StreamedRequest/StreamedResponse"
useDefaultWebProxy="Boolean">
<security mode="None/Transport/Message/TransportWithMessageCredential/TransportCredentialOnly">
<transport clientCredentialType="None/Basic/Digest/Ntlm/Windows/Certificate"
proxyCredentialType="None/Basic/Digest/Ntlm/Windows"
realm="String" />
<message algorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15"
clientCredentialType="UserName/Certificate" />
</security>
<readerQuotas maxArrayLength="Integer"
maxBytesPerRead="Integer"
maxDepth="Integer"
maxNameTableCharCount="Integer"
maxStringContentLength="Integer" />
</binding>
</basicHttpBinding>
Atributos y elementos
En las siguientes secciones se describen los atributos, los elementos secundarios y los elementos primarios.
Attributes
| Atributo | Description |
|---|---|
allowCookies |
Valor booleano que indica si el cliente acepta cookies y los propaga en solicitudes futuras. El valor predeterminado es false.Puede utilizar esta propiedad cuando interactúe con los servicios web ASMX que usan cookies. De este modo, puede asegurarse de que las cookies devueltas desde el servidor se copian automáticamente en todas las solicitudes futuras de cliente para ese servicio. |
bypassProxyOnLocal |
Valor booleano que indica si se debe omitir el servidor proxy para las direcciones locales. El valor predeterminado es false.Un recurso de Internet es local si tiene una dirección local. Una dirección local es una que está en el mismo equipo, la RED local o la intranet y se identifica, sintácticamente, por la falta de un período (.) como en los URI http://webserver/ y http://localhost/.Al establecer este atributo, se determina si los puntos de conexión configurados con BasicHttpBinding usan el servidor proxy al acceder a los recursos locales. Si este atributo es true, las solicitudes a los recursos locales de Internet no usan el servidor proxy. Use el nombre de host (en lugar de localhost) si desea que los clientes pasen por un proxy cuando se hable con los servicios en la misma máquina cuando este atributo esté establecido trueen .Cuando este atributo es false, todas las solicitudes de Internet se realizan a través del servidor proxy. |
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. |
maxBufferPoolSize |
Valor entero que especifica la cantidad máxima de memoria asignada por el administrador de los búferes de mensajes que reciben mensajes del canal. El valor predeterminado es 524288 bytes (0x80000). El Administrador de búferes minimiza el costo de usar búferes mediante un grupo de búferes. Los búferes son necesarios para procesar mensajes por el servicio cuando salen del canal. Si no hay memoria suficiente en el grupo de búferes para procesar la carga del mensaje, el Administrador de búferes debe asignar memoria adicional del montón CLR, lo que aumenta la sobrecarga de recolección de elementos no utilizados. La asignación extensa del montón de elementos no utilizados clR es una indicación de que el tamaño del grupo de búferes es demasiado pequeño y que el rendimiento se puede mejorar con una asignación mayor aumentando el límite especificado por este atributo. |
maxBufferSize |
Valor entero que especifica el tamaño máximo, en bytes, de un búfer que almacena los mensajes mientras se procesan para un punto de conexión configurado con este enlace. El valor predeterminado es 65.536 bytes. |
maxReceivedMessageSize |
Entero positivo que define el tamaño máximo del mensaje, en bytes, incluidos los encabezados, para un mensaje que se puede recibir en un canal configurado con este enlace. El remitente recibe un error soap si el mensaje es demasiado grande para el receptor. El receptor quita el mensaje y crea una entrada del evento en el registro de seguimiento. El valor predeterminado es 65 536 bytes. |
messageEncoding |
Define el codificador usado para codificar el mensaje SOAP. Entre los valores válidos se incluyen los siguientes: - Texto: use un codificador de mensajes de texto. - Mtom: use un codificador de organización de transmisión de mensajes 1.0 (MTOM). El valor predeterminado es texto. Este atributo es de tipo WSMessageEncoding. |
name |
Cadena que contiene el nombre de configuración del enlace. Este valor debe ser único entre los enlaces del mismo tipo. 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. |
proxyAddress |
URI que contiene la dirección del proxy HTTP. Si useSystemWebProxy se establece en true, esta configuración debe ser null. El valor predeterminado es null. |
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. |
textEncoding |
Establece la codificación del juego de caracteres que se usará para emitir mensajes en el enlace. Entre los valores válidos se incluyen los siguientes: - BigEndianUnicode: codificación BigEndian Unicode. - Unicode: codificación de 16 bits. - UTF8: codificación de 8 bits El valor predeterminado es UTF8. Este atributo es de tipo Encoding. |
transferMode |
Valor válido TransferMode que especifica si los mensajes se almacenan en búfer o se transmiten en una solicitud o respuesta. |
useDefaultWebProxy |
Valor booleano que especifica si se debe usar el proxy HTTP configurado automáticamente del sistema, si está disponible. El valor predeterminado es true. |
Elementos secundarios
| Elemento | Description |
|---|---|
| <seguridad> | Define la configuración de seguridad para el enlace. Este elemento es de tipo BasicHttpSecurityElement. |
| <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. |
Elementos primarios
| Elemento | Description |
|---|---|
| <Enlaces> | Este elemento contiene una colección de enlaces estándar y personalizados. |
Observaciones
BasicHttpBinding usa HTTP como transporte para enviar mensajes SOAP 1.1. Un servicio puede usar este enlace para exponer puntos de conexión que se ajustan a WS-I BP 1.1, como los que consumen los clientes ASMX. Del mismo modo, un cliente puede usar BasicHttpBinding para comunicarse con los servicios que exponen puntos de conexión que se ajustan a WS-I BP 1.1, como servicios web ASMX o servicios configurados con BasicHttpBinding.
La seguridad está desactivada de forma predeterminada, pero se puede agregar estableciendo el atributo mode del <elemento secundario de seguridad> en un valor distinto de None. Usa una codificación de mensajes "Text" y codificación de texto UTF-8 de forma predeterminada.
Ejemplo 1
En el ejemplo siguiente se muestra el uso de BasicHttpBinding que proporciona comunicación HTTP y máxima interoperabilidad con servicios web de primera y segunda generación. El enlace se especifica en los archivos de configuración para el cliente y el servicio. El tipo de enlace se especifica mediante el binding atributo del <endpoint> elemento . Si desea configurar el enlace básico y cambiar algunas de sus opciones, es necesario definir una configuración de enlace. El punto de conexión debe hacer referencia a la configuración de enlace por nombre mediante el bindingConfiguration atributo del <endpoint> elemento , como se muestra en el código de configuración siguiente para el servicio.
<system.serviceModel>
<services>
<service type="Microsoft.ServiceModel.Samples.CalculatorService"
behaviorConfiguration="CalculatorServiceBehavior">
<endpoint address=""
binding="basicHttpBinding"
bindingConfiguration="Binding1"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
</service>
</services>
<bindings>
<basicHttpBinding>
<binding name="Binding1"
hostNameComparisonMode="StrongWildcard"
receiveTimeout="00:10:00"
sendTimeout="00:10:00"
openTimeout="00:10:00"
closeTimeout="00:10:00"
maxReceivedMessageSize="65536"
maxBufferSize="65536"
maxBufferPoolSize="524288"
transferMode="Buffered"
messageEncoding="Text"
textEncoding="utf-8"
bypassProxyOnLocal="false"
useDefaultWebProxy="true">
<security mode="None" />
</binding>
</basicHttpBinding>
</bindings>
</system.serviceModel>
Ejemplo 2
A partir de .NET Framework 4, los enlaces y los comportamientos no son necesarios para tener un nombre. La funcionalidad del ejemplo anterior se puede lograr quitando bindingConfiguration de la dirección del punto de conexión y el nombre del enlace.
<system.serviceModel>
<services>
<service type="Microsoft.ServiceModel.Samples.CalculatorService"
behaviorConfiguration="CalculatorServiceBehavior">
<endpoint address=""
binding="basicHttpBinding"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
</service>
</services>
<bindings>
<basicHttpBinding>
<binding hostNameComparisonMode="StrongWildcard"
receiveTimeout="00:10:00"
sendTimeout="00:10:00"
openTimeout="00:10:00"
closeTimeout="00:10:00"
maxReceivedMessageSize="65536"
maxBufferSize="65536"
maxBufferPoolSize="524288"
transferMode="Buffered"
messageEncoding="Text"
textEncoding="utf-8"
bypassProxyOnLocal="false"
useDefaultWebProxy="true">
<security mode="None" />
</binding>
</basicHttpBinding>
</bindings>
</system.serviceModel>
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.