<wsHttpBinding>
Define um enlace seguro, fiável e interoperável adequado para contratos de serviço não duplex. O enlace implementa as seguintes especificações: WS-Reliable Mensagens para fiabilidade e WS-Security para segurança e autenticação de mensagens. O transporte é HTTP e a codificação de mensagens é codificação de Texto/XML.
<configuração>
<system.serviceModel>
<enlaces>
<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 secções seguintes descrevem atributos, elementos subordinados e elementos principais
Atributos
Atributo | Descrição |
---|---|
allowCookies | Um valor booleano que indica se o cliente aceita cookies e os propaga em pedidos futuros. A predefinição é falsa. Pode utilizar esta propriedade quando interage com serviços Web ASMX que utilizam cookies. Desta forma, pode certificar-se de que os cookies devolvidos a partir do servidor são automaticamente copiados para todos os futuros pedidos de cliente para esse serviço. |
bypassProxyOnLocal | Um valor booleano que indica se deve ignorar 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 próxima. Este valor deve ser maior ou igual a Zero. A predefinição é 00:01:00. |
hostnameComparisonMode | Especifica o modo de comparação de nome de anfitrião HTTP utilizado para analisar URIs. Este atributo é do tipo HostNameComparisonMode, que indica se o nome do anfitrião é utilizado para aceder ao serviço quando corresponde ao URI. O valor predefinido é StrongWildcard, que ignora o nome do anfitrião na correspondência. |
maxBufferPoolSize | Um número inteiro que especifica o tamanho máximo do conjunto de memória intermédia para este enlace. A predefinição é 524.288 bytes (512 * 1024). Muitas partes do Windows Communication Foundation (WCF) utilizam memórias intermédias. A criação e destruição de memórias intermédias sempre que são utilizadas é dispendiosa e a recolha de lixo para memória intermédia também é dispendiosa. Com os conjuntos de memória intermédia, pode tirar uma memória intermédia do conjunto, utilizá-la e devolvê-la ao conjunto assim que terminar. Assim, evita-se a sobrecarga na criação e destruição de memórias intermédias. |
maxReceivedMessageSize | Um número inteiro positivo que especifica o tamanho máximo da mensagem, em bytes, incluindo cabeçalhos, que podem ser recebidos num canal configurado com este enlace. O remetente de uma mensagem que exceda este limite receberá uma falha SOAP. O recetor remove a mensagem e cria uma entrada do evento no registo de rastreio. A predefinição é 65536. |
messageEncoding | Define o codificador utilizado para codificar a mensagem. Os valores válidos incluem o seguinte: - Texto: utilize um codificador de mensagens de texto. - Mtom: utilize um codificador MTOM (Message Transmission Organization Mechanism 1.0). - A predefinição é Texto. Este atributo é do tipo WSMessageEncoding. |
name | Uma cadeia que contém o nome de configuração do enlace. Este valor deve ser exclusivo porque é utilizado como uma identificação para o enlace. A partir do .NET Framework 4, não são necessários enlaces e comportamentos para ter um nome. Para obter mais informações sobre a configuração predefinida e os enlaces e comportamentos sem nome, veja Configuração Simplificada e Configuração Simplificada para os Serviços WCF. |
openTimeout | Um TimeSpan valor que especifica o intervalo de tempo fornecido para a conclusão de uma operação aberta. Este valor deve ser maior ou igual a Zero. A predefinição é 00:01:00. |
proxyAddress | Um URI que especifica o endereço do proxy HTTP. Se useSystemWebProxy for true , esta definição tem de 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. A predefinição é 00:01:00. |
sendTimeout | Um TimeSpan valor que especifica o intervalo de tempo fornecido para a conclusão de uma operação de envio. Este valor deve ser maior ou igual a Zero. A predefinição é 00:01:00. |
textEncoding | Especifica a codificação do conjunto de carateres a utilizar para emitir mensagens no enlace. Os valores válidos incluem o seguinte: - UnicodeFffeTextEncoding: codificação Unicode BigEndian. - Utf16TextEncoding: codificação de 16 bits. - Utf8TextEncoding: codificação de 8 bits. A predefinição é Utf8TextEncoding. Este atributo é do tipo Encoding. |
fluxo de transações | Um valor booleano que especifica se o enlace suporta WS-Transactions fluídos. A predefinição é false . |
useDefaultWebProxy | Um valor booleano que especifica se o proxy HTTP configurado automaticamente do sistema é utilizado. A predefinição é true . |
Elementos Subordinados
Elemento | Descrição |
---|---|
<segurança> | Define as definições de segurança do enlace. Este elemento é do tipo WSHttpSecurityElement. |
<readerQuotas> | Define as restrições sobre a complexidade das mensagens SOAP que podem ser processadas por pontos finais configurados com este enlace. Este elemento é do tipo XmlDictionaryReaderQuotasElement. |
<reliableSession> | Especifica se são estabelecidas sessões fiáveis entre pontos finais de canal. |
Elementos Principais
Elemento | Descrição |
---|---|
<enlaces> | Este elemento contém uma coleção de enlaces padrão e personalizados. |
Observações
O WSHttpBinding
é semelhante ao BasicHttpBinding
, mas fornece 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, ativadas por predefinição ou disponíveis através de uma única definição de controlo.
Exemplo
<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>