Partilhar via


<wsHttpBinding>

Define uma vinculação segura, fiável e interoperável, adequada para contratos de serviço não duplex. A ligação implementa as seguintes especificações: WS-Reliable Mensagens para fiabilidade, e WS-Security para segurança e autenticação das mensagens. O transporte é HTTP, e a codificação das mensagens é codificação Texto/XML.

<configuração>
   <system.serviceModel>
     <Encadernações>
       <wsHttpBinding>

Sintaxe

<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 maxArrayLength="Integer"
                  maxBytesPerRead="Integer"
                  maxDepth="Integer"
                  maxNameTableCharCount="Integer"
                  maxStringContentLength="Integer" />
  </binding>
</wsHttpBinding>

Atributos e Elementos

As seções a seguir descrevem atributos, elementos filho e elementos pai

Attributes

Attribute Description
allowCookies Um valor booleano que indica se o cliente aceita cookies e propaga-os em pedidos futuros. O padrão é "false".

Pode usar esta propriedade quando interage com serviços Web ASMX que utilizam cookies. Desta forma, pode ter a certeza de que os cookies devolvidos pelo servidor são automaticamente copiados para todos os pedidos futuros dos clientes para esse serviço.
bypassProxyOnLocal Um valor booleano que indica se deve contornar o servidor proxy para endereços locais. A predefinição é false.
closeTimeout Um TimeSpan valor que especifica o intervalo de tempo fornecido para a conclusão de uma operação de fechamento. Este valor deve ser maior ou igual a Zero. O padrão é 00:01:00.
Modo de Comparação Nome do Host Especifica o modo de comparação de nomes de host HTTP usado para analisar URIs. Este atributo é do tipo HostNameComparisonMode, que indica se o nome de host é usado para aceder ao serviço quando corresponde no URI. O valor padrão é StrongWildcard, que ignora o nome do host na correspondência.
maxBufferPoolSize Um inteiro que especifica o tamanho máximo do buffer pool para esta ligação. O padrão é 524.288 bytes (512 * 1024). Muitas partes do Windows Communication Foundation (WCF) utilizam buffers. Criar e destruir buffers sempre que são usados é caro, e a recolha de lixo para buffers também é dispendiosa. Com os buffer pools, podes pegar num buffer do pool, usá-lo e devolvê-lo ao pool quando terminares. Assim, evita-se a sobrecarga na criação e destruição de tampões.
maxReceivedMessageSize Um inteiro positivo que especifica o tamanho máximo da mensagem, em bytes, incluindo cabeçalhos, que pode ser recebido num canal configurado com esta ligação. O remetente de uma mensagem que ultrapasse este limite receberá uma falha SOAP. O recetor elimina a mensagem e cria uma entrada do evento no registo de rastreamento. O padrão é 65536.
messageEncoding Define o codificador usado para codificar a mensagem. Os valores válidos incluem os seguintes:

- Texto: Use um codificador de mensagens de texto.
- Mtom: Utilizar um codificador Message Transmission Organization Mechanism 1.0 (MTOM).
- O padrão é Texto.

Este atributo é do tipo WSMessageEncoding.
nome Uma cadeia que contém o nome da configuração da ligação. Este valor deve ser único porque é usado como identificação da ligação. A partir do .NET Framework 4, os bindings e comportamentos não são obrigatórios de ter um nome. Para mais informações sobre configuração padrão e ligações e comportamentos sem nome, consulte Configuração Simplificada e Configuração Simplificada para Serviços WCF.
openTimeout Um TimeSpan valor que especifica o intervalo de tempo previsto para que uma operação aberta seja concluída. Este valor deve ser maior ou igual a Zero. O padrão é 00:01:00.
Proxy Address Um URI que especifica o endereço do proxy HTTP. Se useSystemWebProxy for true, esta definição deve ser null. A predefinição é null.
receiveTimeout Um TimeSpan valor que especifica o intervalo de tempo fornecido para a conclusão de uma operação de receção. Este valor deve ser maior ou igual a Zero. O padrão é 00:01:00.
enviarTempo de espera Um TimeSpan valor que especifica o intervalo de tempo fornecido para que uma operação de envio seja concluída. Este valor deve ser maior ou igual a Zero. O padrão é 00:01:00.
Codificação de texto Especifica a codificação do conjunto de caracteres a ser usada para emitir mensagens na ligação. Os valores válidos incluem os seguintes:

- UnicodeFffeTextEncoding: Codificação Unicode BigEndian.
- Utf16TextEncoding: Codificação de 16 bits.
- Utf8TextEncoding: codificação de 8 bits.

O padrão é Utf8TextEncoding.

Este atributo é do tipo Encoding.
transactionFlow Um valor booleano que especifica se a ligação suporta transações WS em fluxo. A predefinição é false.
useDefaultWebProxy Um valor booleano que especifica se o proxy HTTP auto-configurado do sistema é utilizado. A predefinição é true.

Elementos filho

Elemento Description
<Segurança> Define as definições de segurança para a ligação. Este elemento é do tipo WSHttpSecurityElement.
<LeitorQuotas> Define as restrições à complexidade das mensagens SOAP que podem ser processadas pelos endpoints configurados com esta ligação. Este elemento é do tipo XmlDictionaryReaderQuotasElement.
<reliableSession> Especifica se são estabelecidas sessões fiáveis entre os pontos finais do canal.

Elementos Principais

Elemento Description
<Encadernações> Este elemento contém uma coleção de encadernações padrão e personalizadas.

Observações

É WSHttpBinding semelhante ao BasicHttpBinding mas oferece mais funcionalidades de serviço Web. Utiliza o transporte HTTP e fornece segurança de mensagens, tal como o BasicHttpBinding, mas também fornece transações, mensagens fiáveis e WS-Addressing, que estão ativados por defeito ou disponíveis através de uma única configuração de controlo.

Example

<configuration>
  <system.ServiceModel>
    <bindings>
      <wsHttpBinding>
        <binding closeTimeout="00:00:10"
                 openTimeout="00:00:20"
                 receiveTimeout="00:00:30"
                 sendTimeout="00:00:40"
                 bypassProxyOnLocal="false"
                 transactionFlow="false"
                 hostNameComparisonMode="WeakWildcard"
                 maxReceivedMessageSize="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 também