<basicHttpBinding><basicHttpBinding>

Representa un enlace que un servicio Windows Communication Foundation (WCF) puede usar para configurar y exponer puntos de conexión que puedan comunicarse con servicios web basados en ASMX y clientes y otros servicios que cumplan con WS-I Basic Profile 1.1.Represents a binding that a Windows Communication Foundation (WCF) service can use to configure and expose endpoints that are able to communicate with ASMX-based Web services and clients and other services that conform to the WS-I Basic Profile 1.1.

<configuration> <configuration>
   <> System. serviceModel  <system.serviceModel>
     <> de enlaces    <bindings>
       <> basicHttpBinding      <basicHttpBinding>

SintaxisSyntax

<basicHttpBinding>
  <binding allowCookies="Boolean"
           bypassProxyOnLocal="Boolean"
           closeTimeout="TimeSpan"
           envelopeVersion="None/Soap11/Soap12"
           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 elementosAttributes and Elements

En las siguientes secciones se describen los atributos, los elementos secundarios y los elementos primarios.The following sections describe attributes, child elements, and parent elements.

AtributosAttributes

AtributoAttribute DESCRIPCIÓNDescription
allowCookies Valor de tipo booleano que indica si el cliente acepta las cookies y las propaga en solicitudes futuras.A Boolean value that indicates whether the client accepts cookies and propagates them on future requests. El valor predeterminado es false.The default is false.

Puede utilizar esta propiedad al interactuar con los servicios Web ASMX que utilizan cookies.You can use this property when you interact with ASMX Web services that use 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.In this way, you can be sure that the cookies returned from the server are automatically copied to all future client requests for that service.
bypassProxyOnLocal Valor de tipo booleano que indica si se omitirá el servidor proxy para las direcciones locales.A Boolean value that indicates whether to bypass the proxy server for local addresses. El valor predeterminado es false.The default is false.

Un recurso de Internet es local si tiene una dirección local.An Internet resource is local if it has a local address. Una dirección local es aquella que se encuentra en el mismo equipo, la LAN local o intranet y se identifica, sintácticamente, por la ausencia de un punto (.) como en los URI "http://webserver/" y "http://localhost/".A local address is one that is on same computer, the local LAN or intranet and is identified, syntactically, by the lack of a period (.) as in the URIs "http://webserver/" and "http://localhost/".

Al establecer este atributo se determina si los extremos configurados con BasicHttpBinding utilizan el servidor proxy al obtener acceso a los recursos locales.Setting this attribute determines whether endpoints configured with the BasicHttpBinding use the proxy server when accessing local resources. Si este atributo es true, las solicitudes que se realicen en recursos locales de Internet no usarán el servidor proxy.If this attribute is true, requests to local Internet resources do not use the proxy server. Utilice el nombre de host (en lugar del host local) si desea que los clientes pasen por un proxy al hablar con los servicios del mismo equipo cuando este atributo está establecido como true.Use the host name (rather than localhost) if you want clients to go through a proxy when talking to services on the same machine when this attribute is set to true.

Cuando este atributo es false, todas las solicitudes de Internet se realizan a través del servidor proxy.When this attribute is false, all Internet requests are made through the proxy server.
closeTimeout Un valor TimeSpan que especifica el intervalo de tiempo del que dispone una operación de cierre para completarse.A TimeSpan value that specifies the interval of time provided for a close operation to complete. Este valor debe ser mayor o igual que Zero.This value should be greater than or equal to Zero. El valor predeterminado es 00:01:00.The default is 00:01:00.
envelopeVersion Especifica la versión de SOAP que se utiliza para los mensajes procesados por este enlace.Specifies the version of SOAP that is used for messages that are processed by this binding. El único valor válido es Soap11.The only valid value is Soap11.
hostNameComparisonMode Especifica el modo de comparación de nombres de host HTTP usado para analizar los URI.Specifies the HTTP hostname comparison mode used to parse URIs. 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.This attribute is of type HostNameComparisonMode, which indicates whether the hostname is used to reach the service when matching on the URI. El valor predeterminado es StrongWildcard, que omite el nombre del host en la coincidencia.The default value is StrongWildcard, which ignores the hostname in the match.
maxBufferPoolSize Un valor entero que especifica la cantidad de memoria máxima que se asigna para el uso realizado por el administrador de los búferes que reciben los mensajes del canal.An integer value that specifies the maximum amount of memory that is allocated for use by the manager of the message buffers that receive messages from the channel. El valor predeterminado es 524288 (0x80000) bytes.The default value is 524288 (0x80000) bytes.

El administrador de búfer reduce el coste de utilizar los búferes con un grupo de búferes.The Buffer Manager minimizes the cost of using buffers by using a buffer pool. Es necesario que los búferes procesen los mensajes del servicio cuando salen del canal.Buffers are required to process messages by the service when they come out of the channel. Si no hay memoria suficiente en el grupo de búferes para procesar la carga de mensajes, el administrador de búfer debe asignar memoria adicional del montón CLR, que aumenta la carga de recolección de elementos no utilizados.If there is not sufficient memory in the buffer pool to process the message load, the Buffer Manager must allocate additional memory from the CLR heap, which increases the garbage collection overhead. La amplia asignación del montón de elementos no utilizados de CLR es una indicación de que el tamaño del grupo de búferes es demasiado pequeño y de que el rendimiento podría mejorar con una asignación mayor aumentando el límite especificado por este atributo.Extensive allocation from the CLR garbage heap is an indication that the buffer pool size is too small and that performance can be improved with a larger allocation by increasing the limit specified by this attribute.
maxBufferSize Un valor entero que especifica el tamaño máximo, en bytes, de un búfer que almacena los mensajes mientras se procesan para un extremo configurado con este enlace.An integer value that specifies the maximum size, in bytes, of a buffer that stores messages while they are processed for an endpoint configured with this binding. El valor predeterminado es 65.536 bytes.The default value is 65,536 bytes.
maxReceivedMessageSize Un 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.A positive integer that defines the maximum message size, in bytes, including headers, for a message that can be received on a channel configured with this binding. El remitente recibe un error SOAP cuando el mensaje es demasiado grande para el receptor.The sender receives a SOAP fault if the message is too large for the receiver. El destinatario quita el mensaje y crea una entrada del evento en el registro de seguimiento.The receiver drops the message and creates an entry of the event in the trace log. El valor predeterminado es 65.536 bytes.The default is 65,536 bytes.
messageEncoding Define el codificador utilizado para codificar el mensaje SOAP.Defines the encoder used to encode the SOAP message. Los valores válidos son los siguientes:Valid values include the following:

Negrita Use un codificador de mensajes de texto.- Text: Use a text message encoder.
MTOM Use un codificador del mecanismo de la organización de transmisión de mensajes 1,0 (MTOM).- Mtom: Use a Message Transmission Organization Mechanism 1.0 (MTOM) encoder.

El valor predeterminado es Text.The default is Text. Este atributo es del tipo WSMessageEncoding.This attribute is of type WSMessageEncoding.
name Cadena que contiene el nombre de configuración del enlace.A string that contains the configuration name of the binding. Este valor debe ser único porque se usa como identificación del enlace.This value should be unique because it is used as an identification for the binding. Cada enlace tiene los atributos name y namespace que, juntos, lo identifican de forma exclusiva en los metadatos del servicio.Each binding has a name and namespace attribute that together uniquely identify it in the metadata of the service. Además, este nombre es único entre los enlaces del mismo tipo.In addition, this name is unique among bindings of the same type. A partir de .NET Framework 4.NET Framework 4, no es necesario que los enlaces y los comportamientos tengan nombre.Starting with .NET Framework 4.NET Framework 4, bindings and behaviors are not required to have a name. 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.For more information about default configuration and nameless bindings and behaviors, see Simplified Configuration and Simplified Configuration for WCF Services.
namespace Especifica el espacio de nombres XML del enlace.Specifies the XML namespace of the binding. El valor predeterminado es "http://tempuri.org/Bindings".The default value is "http://tempuri.org/Bindings". Cada enlace tiene los atributos name y namespace que, juntos, lo identifican de forma exclusiva en los metadatos del servicio.Each binding has a name and namespace attribute that together uniquely identify it in the metadata of the service.
openTimeout Valor de la estructura TimeSpan que especifica el intervalo de tiempo del que dispone una operación de apertura para completarse.A TimeSpan value that specifies the interval of time provided for an open operation to complete. Este valor debe ser mayor o igual que Zero.This value should be greater than or equal to Zero. El valor predeterminado es 00:01:00.The default is 00:01:00.
proxyAddress Un URI que contiene la dirección del proxy HTTP.A URI that contains the address of the HTTP proxy. Si useSystemWebProxy se establece como true, esta configuración debe ser null.If useSystemWebProxy is set to true, this setting must be null. El valor predeterminado es null.The default is null.
receiveTimeout Un valor TimeSpan que especifica el intervalo de tiempo del que dispone una operación de recepción para completarse.A TimeSpan value that specifies the interval of time provided for a receive operation to complete. Este valor debe ser mayor o igual que Zero.This value should be greater than or equal to Zero. El valor predeterminado es 00:10:00.The default is 00:10:00.
sendTimeout Un valor TimeSpan que especifica el intervalo de tiempo del que dispone una operación de envío para completarse.A TimeSpan value that specifies the interval of time provided for a send operation to complete. Este valor debe ser mayor o igual que Zero.This value should be greater than or equal to Zero. El valor predeterminado es 00:01:00.The default is 00:01:00.
textEncoding Establece el codificador del juego de caracteres que se va a usar para emitir los mensajes en el enlace.Sets the character set encoding to be used for emitting messages on the binding. Los valores válidos son los siguientes:Valid values include the following:

- BigEndianUnicode: Codificación Unicode BigEndian.- BigEndianUnicode: Unicode BigEndian encoding.
Unicode codificación de 16 bits.- Unicode: 16-bit encoding.
- UTF8: codificación de 8 bits- UTF8: 8-bit encoding

El valor predeterminado es UTF8.The default is UTF8. Este atributo es del tipo Encoding.This attribute is of type Encoding.
transferMode Un valor TransferMode válido que especifica si los mensajes se almacenan en búfer, se transmiten o si son una solicitud o una respuesta.A valid TransferMode value that specifies whether messages are buffered or streamed on a request or response.
useDefaultWebProxy Valor de tipo booleano que especifica si se debería utilizar el proxy HTTP configurado automáticamente del sistema, si está disponible.A Boolean value that specifies whether the auto-configured HTTP proxy of the system should be used, if available. El valor predeterminado es true.The default is true.

Elementos secundariosChild Elements

ElementoElement DESCRIPCIÓNDescription
<security><security> Define la configuración de seguridad del enlace.Defines the security settings for the binding. Este elemento es del tipo BasicHttpSecurityElement.This element is of type BasicHttpSecurityElement.
<readerQuotas><readerQuotas> Define las restricciones en la complejidad de los mensajes SOAP que pueden ser procesados por los puntos de conexión configurados con este enlace.Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. Este elemento es del tipo XmlDictionaryReaderQuotasElement.This element is of type XmlDictionaryReaderQuotasElement.

Elementos primariosParent Elements

ElementoElement DESCRIPCIÓNDescription
<bindings><bindings> Este elemento contiene una colección de enlaces estándar y personalizados.This element holds a collection of standard and custom bindings.

ComentariosRemarks

BasicHttpBinding usa HTTP como transporte para enviar mensajes SOAP 1.1.The BasicHttpBinding uses HTTP as the transport for sending SOAP 1.1 messages. Un servicio puede utilizar este enlace para exponer extremos que cumplen con WS-I BP 1.1, como los que utilizan los clientes ASMX.A service can use this binding to expose endpoints that conform to WS-I BP 1.1, such as those that ASMX clients consume. De igual forma, un cliente puede utilizar BasicHttpBinding para comunicarse con servicios que exponen extremos que cumplen con WS-I BP 1.1, como el Servicio Web de ASMX o servicios configurados con BasicHttpBinding.Similarly, a client can use the BasicHttpBinding to communicate with services exposing endpoints that conform to WS-I BP 1.1, such as ASMX Web services or services configured with the BasicHttpBinding.

La seguridad está desactivada de forma predeterminada, pero se puede Agregar estableciendo el atributo de modo del elemento secundario <> de seguridad en Noneun valor distinto de.Security is turned off by default, but can be added setting the mode attribute of the <security> child element to a value other than None. De forma predeterminada, usa una codificación de mensajes "Text" y codificación de texto UTF-8.It uses a "Text" message encoding and UTF-8 text encoding by default.

EjemploExample

En el ejemplo siguiente se muestra el uso de la clase BasicHttpBinding que proporciona comunicación HTTP e interoperabilidad máxima a los servicios Web de primera y segunda generación.The following example demonstrates the use of BasicHttpBinding that provides HTTP communication and maximum interoperability with first- and second-generation Web services. El enlace se especifica en los archivos de configuración para el cliente y servicio.The binding is specified in the configuration files for the client and service. El tipo de enlace se especifica en el atributo binding del elemento <endpoint>.The binding type is specified using the binding attribute of the <endpoint> element. Si desea configurar el enlace básico y cambiar algunos de sus valores, es necesario definir una configuración de enlace.If you want to configure the basic binding and change some of its settings, it is necessary to define a binding configuration. El extremo debe hacer referencia a la configuración de enlace por nombre utilizando el atributo bindingConfiguration del elemento <endpoint>, como se muestra en el siguiente código de configuración para el servicio.The endpoint must reference the binding configuration by name by using the bindingConfiguration attribute of the <endpoint> element, as shown in the following configuration code for the service.

<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>

EjemploExample

A partir de .NET Framework 4.NET Framework 4, no es necesario que los enlaces y los comportamientos tengan nombre.Starting with .NET Framework 4.NET Framework 4, bindings and behaviors are not required to have a name. La funcionalidad del ejemplo anterior se puede llevar a cabo quitando bindingConfiguration de la dirección del punto de conexión y el nombre del enlace.The functionality from the previous example can be accomplished by removing the bindingConfiguration from the endpoint address and the name from the binding.

<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.For more information about default configuration and nameless bindings and behaviors, see Simplified Configuration and Simplified Configuration for WCF Services.

Vea tambiénSee also