<wsDualHttpBinding>
Define um enlace seguro, fiável e interoperável adequado para contratos de serviço duplex ou comunicação através de intermediários SOAP.
<configuração>
<system.serviceModel>
<enlaces>
<wsDualHttpBinding>
Sintaxe
<wsDualHttpBinding>
<binding name="String"
closeTimeout="TimeSpan"
openTimeout="TimeSpan"
receiveTimeout="TimeSpan"
sendTimeout="TimeSpan"
bypassProxyOnLocal="Boolean"
clientBaseAddress="URI"
transactionFlow="Boolean"
hostNameComparisonMode="StrongWildCard/Exact/WeakWildcard"
maxBufferPoolSize="integer"
maxReceivedMessageSize="Integer"
messageEncoding="Text/Mtom"
proxyAddress="URI"
textEncoding="Unicode/BigEndianUnicode/UTF8"
useDefaultWebProxy="Boolean">
<reliableSession ordered="Boolean"
inactivityTimeout="TimeSpan" />
<security mode="None/Message">
<message clientCredentialType="None/Windows/UserName/Certificate/CardSpace"
negotiateServiceCredential="Boolean"
algorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15" />
</security>
<readerQuotas maxArrayLength="Integer"
maxBytesPerRead="Integer"
maxDepth="Integer"
maxNameTableCharCount="Integer"
maxStringContentLength="Integer" />
</binding>
</wsDualHttpBinding>
Atributos e Elementos
As secções seguintes descrevem atributos, elementos subordinados e elementos principais
Atributos
Atributo | Descrição |
---|---|
bypassProxyOnLocal | Um valor booleano que indica se deve ignorar o servidor proxy para endereços locais. A predefinição é false . |
clientBaseAddress | Um URI que define o endereço base que o cliente escuta para obter mensagens de resposta do serviço. Se especificado, este endereço (além de umGUID por canal) é utilizado para escutar. Se o valor não for especificado, o endereço base do cliente é gerado de forma específica do transporte. A predefinição é null . |
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 useDefaultWebProxy 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 | Define a codificação do conjunto de carateres a utilizar para emitir mensagens no enlace. Os valores válidos incluem o seguinte: - BigEndianUnicode: codificação Unicode BigEndian. - Unicode: codificação de 16 bits. - UTF8: codificação de 8 bits A predefinição é UTF8. 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 indica se o proxy HTTP configurado automaticamente do sistema é utilizado. O endereço proxy tem de ser null (ou seja, não definido) se este atributo for true . A predefinição é true . |
Elementos Subordinados
Elemento | Descrição |
---|---|
<segurança> | Define as definições de segurança do enlace. Este elemento é do tipo WSDualHttpSecurityElement. |
<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 WSDualHttpBinding
fornece o mesmo suporte para protocolos do Serviço Web que o WSHttpBinding
, mas para utilização com contratos duplex. WSDualHttpBinding
apenas suporta a segurança SOAP e requer mensagens fiáveis. Este enlace requer que o cliente tenha um URI público que forneça um ponto final de chamada de retorno para o serviço. Isto é fornecido pelo clientBaseAddress
atributo . Um enlace duplo expõe o endereço IP do cliente ao serviço. O cliente deve utilizar a segurança para garantir que apenas se liga aos serviços em que confia.
Este enlace pode ser utilizado para comunicar de forma fiável através de um ou mais intermediários SOAP.
Por predefinição, este enlace gera uma pilha de runtime com WS-ReliableMessaging para fiabilidade, WS-Security para segurança e autenticação de mensagens, HTTP para entrega de mensagens e codificação de mensagens Texto/XML.
Exemplo
<configuration>
<system.ServiceModel>
<bindings>
<wsDualHttpBinding>
<binding closeTimeout="00:00:10"
openTimeout="00:00:20"
receiveTimeout="00:00:30"
sendTimeout="00:00:40"
bypassProxyOnLocal="false"
clientBaseAddress="http://localhost:8001/client/"
transactionFlow="true"
hostNameComparisonMode="WeakWildcard"
maxReceivedMessageSize="1000"
messageEncoding="Mtom"
proxyAddress="http://foo/bar"
textEncoding="utf-16"
useDefaultWebProxy="false">
<reliableSession ordered="false"
inactivityTimeout="00:02:00" />
<security mode="None">
<message clientCredentialType="None"
negotiateServiceCredential="false"
algorithmSuite="Aes128" />
</security>
</binding>
</wsDualHttpBinding>
</bindings>
</system.ServiceModel>
</configuration>