Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Proporciona controlo total sobre a pilha de mensagens para o utilizador.
<configuração>
<system.serviceModel>
<Encadernações>
<customBinding>
Sintaxe
<customBinding>
<binding name="String"
closeTimeout="TimeSpan"
openTimeout="TimeSpan"
receiveTimeout="TimeSpan"
sendTimeout="TimeSpan">
<compositeDuplex clientBaseAddress="Uri" />
<reliableSession acknowledgementInterval="TimeSpan"
advancedFlowControl="Boolean"
bufferedMessagesQuota="Integer"
inactivityTimeout="TimeSpan"
maxPendingChannels="Integer"
maxRetryCount="Integer"
ordered="Boolean" />
<pnrpPeerResolver />
<windowsStreamSecurity protectionLevel="None/Sign/EncryptAndSign" />
<sslStreamSecurity requireClientCertificate="Boolean" />
<transactionFlow transactionProtocol="OleTransactions/WSAtomicTransactionOctober2004" />
<security defaultAlgorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15"
authenticationMode="UserNameForAnonymous"
contextMode="Cookie"
defaultProtectionLevel="Sign"
enableKeyDerivation="false"
keyEntropyMode="ClientEntropy"
messageProtectionOrder="SignBeforeEncryptAndEncryptSignature"
securityVersion="WSSecurityXXX2005">
<localClientSettings cacheCookies="false"
detectReplays="false"
maxCookieCachingTime="00:07:24" />
<localServiceSettings replayCacheSize="9"
maxClockSkew="00:00:03"
replayWindow="00:07:22.2190000" />
</security>
<binaryMessageEncoding maxReadPoolSize="Integer"
maxWritePoolSize="Integer"
maxSessionSize="Integer" />
<httpsTransport manualAddressing="Boolean"
maxMessageSize="Integer"
authenticationScheme="Negotiate"
bypassProxyOnLocal="Boolean"
hostNameComparisonMode="Exact"
mapAddressingHeadersToHttpHeaders="Boolean"
proxyaddress="Uri"
realm="String"
requireClientCertificate="Boolean" />
<peerTransport manualAddressing="false"
maxMessageSize="20002"
listenIPAddress="202.10.1.9"
messageAuthentication="false"
peerNodeAuthenticationMode="None"
port="1000" />
<security defaultAlgorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15"
authenticationMode="UserNameForAnonymous"
bootstrapBindingConfiguration="String"
bootstrapBindingSectionName="String"
defaultProtectionLevel="None/Sign/EncryptAndSign"
requireDerivedKeys="Boolean"
securityHeaderLayout="Strict/Lax/LaxTimestampFirst/LaxTimestampLast"
includeTimestamp="Boolean"
keyEntropyMode="ClientEntropy/ServerEntropy/CombinedEntropy"
messageProtectionOrder="SignBeforeEncrypt/SignBeforeEncryptAndEncryptSignature/EncryptBeforeSign"
protectTokens="Boolean"
requireSecurityContextCancellation="Boolean"
securityVersion=" WSSecurityJan2004/WSSecurityXXX2005"
requireSignatureConfirmation="Boolean">
<localClientSettings cacheCookies="Boolean"
detectReplays="Boolean"
replayCacheSize="Integer"
maxClockSkew="TimeSpan"
maxCookieCachingTime="TimeSpan"
replayWindow="TimeSpan"
sessionKeyRenewalInterval="TimeSpan"
sessionKeyRolloverInterval="TimeSpan"
reconnectOnTransportFailure="Boolean"
timestampValidityDuration="TimeSpan"
cookieRenewalThresholdPercentage="Integer" />
<localServiceSettings detectReplays="Boolean"
issuedCookieLifeTime="TimeSpan"
maxStatefulNegotiations="Integer"
replayCacheSize="Integer"
maxClockSkew="TimeSpan"
negotiationTimeout="TimeSpan"
replayWindow="TimeSpan"
inactivityTimeout="TimeSpan"
sessionKeyRenewalInterval="TimeSpan"
sessionKeyRolloverInterval="TimeSpan"
reconnectOnTransportFailure="Boolean"
maxConcurrentSessions="Integer"
timestampValidityDuration="TimeSpan" />
<federationParameters trustVersion="WSTrustApr2004/WSTrustFeb2005" />
</security>
<security defaultAlgorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15"
authenticationMode="UserNameForAnonymous"
bootstrapBindingConfiguration="String"
bootstrapBindingSectionName="String"
defaultProtectionLevel="None/Sign/EncryptAndSign"
requireDerivedKeys="Boolean"
securityHeaderLayout="Strict/Lax/LaxTimestampFirst/LaxTimestampLast"
includeTimestamp="Boolean"
keyEntropyMode="ClientEntropy/ServerEntropy/CombinedEntropy"
messageProtectionOrder="SignBeforeEncrypt/SignBeforeEncryptAndEncryptSignature/EncryptBeforeSign"
protectTokens="Boolean"
requireSecurityContextCancellation="Boolean"
securityVersion=" WSSecurityJan2004/WSSecurityXXX2005"
requireSignatureConfirmation="Boolean" >
<localClientSettings cacheCookies="Boolean"
detectReplays="Boolean"
replayCacheSize="Integer"
maxClockSkew="TimeSpan"
maxCookieCachingTime="TimeSpan"
replayWindow="TimeSpan"
sessionKeyRenewalInterval="TimeSpan"
sessionKeyRolloverInterval="TimeSpan"
reconnectOnTransportFailure="Boolean"
timestampValidityDuration="TimeSpan"
cookieRenewalThresholdPercentage="Integer" />
<localServiceSettings detectReplays="Boolean"
issuedCookieLifeTime="TimeSpan"
maxStatefulNegotiations="Integer"
replayCacheSize="Integer"
maxClockSkew="TimeSpan"
negotiationTimeout="TimeSpan"
replayWindow="TimeSpan"
inactivityTimeout="TimeSpan"
sessionKeyRenewalInterval="TimeSpan"
sessionKeyRolloverInterval="TimeSpan"
reconnectOnTransportFailure="Boolean"
maxConcurrentSessions="Integer"
timestampValidityDuration="TimeSpan" />
<federationParameters trustVersion="WSTrustApr2004/WSTrustFeb2005" />
<genericIssuedTokenParameters>
<localIssuerIssuedTokenParameters keyType="SymmetricKey/PublicKey"
keySize="Integer"
tokenType="String" />
<issuedTokenParametersEndpointAddress address="URI"
bindingConfiguration="String"
binding="String" />
<issuedTokenClient localIssuerChannelBehaviors="String"
cacheIssuedTokens="Boolean"
maxIssuedTokenCachingTime="TimeSpan"
keyEntropyMode="ClientEntropy/ServerEntropy/CombinedEntropy" />
<issuedTokenClientBehavior issuerAddress="String"
behaviorConfiguration="String" />
<issuedTokenClientBehavior address="URI"
bindingConfiguration="String"
binding="String" />
</genericIssuedTokenParameters>
</security>
</binding>
</customBinding>
Atributos e Elementos
As seções a seguir descrevem atributos, elementos filho e elementos pai
Attributes
| Attribute | Description |
|---|---|
| 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. |
| nome | Uma cadeia que contém o nome da configuração da ligação. Este valor é uma cadeia definida pelo utilizador que atua como cadeia de identificação para a ligação personalizada. 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. |
| 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. |
Elementos filho
| Elemento | Description |
|---|---|
| <CompositeDuplex> | Especifica mensagens bidirecionais para a ligação personalizada. É usado com transportes que não permitem comunicações duplex nativas, por exemplo, HTTP. O TCP, por outro lado, permite comunicações duplex nativamente e não requer o uso deste elemento de ligação para que o serviço envie mensagens de volta a um cliente. O cliente deve expor uma morada para que o serviço possa entrar em contacto e estabelecer uma ligação. Este endereço do cliente é fornecido pelo ClientBaseAddress atributo.Este elemento é do tipo CompositeDuplexElement. |
| <pnrpPeerResolver> | Especifica um resolvedor de nomes de pares do Protocolo de Resolução de Nomes de Pares (PNRP). Este elemento é do tipo PnrpPeerResolverElement. |
| <reliableSession> | Especifica a definição para WS-Reliable Mensagens. Quando este elemento é adicionado a uma ligação personalizada, o canal resultante pode suportar garantias de entrega exatamente uma vez. Este elemento é do tipo ReliableSessionElement. |
| <Segurança> | Especifica as opções de segurança da ligação personalizada. Este elemento é do tipo SecurityElement. |
| <sslStreamSecurity> | Especifica as definições de segurança para uma ligação de fluxo SSL. Este elemento é do tipo SslStreamSecurityElement. |
| <transactionFlow> | Especifica que a ligação suporta o fluxo de transações e o protocolo a ser usado pelo transactionProtocol atributo. Este elemento é do tipo TransactionFlowElement. |
| <windowsStreamSecurity> | Especifica as opções para a segurança do streaming da ligação personalizada. Este elemento é do tipo WindowsStreamSecurityElement. |
Elementos Principais
| Elemento | Description |
|---|---|
| bindings | Contém todas as ligações para aplicações Windows Communication Foundation. |
Observações
As ligações personalizadas fornecem controlo total sobre a pilha de mensagens WCF. Podem ser criadas ligações especiais e personalizadas adicionando elementos de configuração para entidades específicas. Por exemplo, o utilizador pode combinar a httpsTransport secção, reliableSession a secção e a security secção para criar uma ligação baseada em https fiável e segura.
Uma ligação individual define a pilha de mensagens especificando os elementos de configuração dos elementos da pilha pela ordem em que aparecem na pilha. Cada elemento define e configura um elemento da pilha. Deve haver um e apenas um elemento de transporte em cada ligação personalizada. Sem este elemento, a pilha de mensagens fica incompleta.
A ordem em que os elementos aparecem na pilha importa, pois é a ordem em que as operações são aplicadas à mensagem. A ordem recomendada dos elementos da pilha é a seguinte:
Transações (opcionais)
Mensagens Fiáveis (opcional)
Segurança (opcional)
Transport
Codificador (opcional)
Use uma ligação personalizada quando uma das ligações fornecidas pelo sistema não cumprir os requisitos do seu serviço. Uma ligação personalizada poderia ser usada, por exemplo, para permitir a utilização de um novo transporte ou de um novo codificador num endpoint de serviço.
Uma ligação personalizada é construída usando um dos CustomBinding elementos de ligação de uma coleção de elementos de ligação que são "empilhados" numa ordem específica:
No topo está uma opção TransactionFlowBindingElement opcional que permite transações fluídas.
De seguida, há um opcional ReliableSessionBindingElement que fornece um mecanismo de sessão e ordenação conforme definido na especificação WS-ReliableMessaging. Esta noção de sessão pode cruzar SOAP e intermediários de transporte.
A seguir há um elemento opcional de vinculação de segurança que fornece funcionalidades de segurança como autorização, autenticação, proteção e confidencialidade. Os seguintes elementos de ligação de segurança são fornecidos pela Windows Communication Foundation (WCF):
Seguem-se os padrões de mensagens opcionais especificados pelos elementos de ligação:
A seguir vêm as melhorias opcionais de transporte/elementos de ligação de ajudantes:
A seguir há um elemento obrigatório de codificação de mensagens. Pode usar o seu próprio transporte ou usar uma das seguintes ligações de codificação de mensagens:
Na parte inferior encontra-se um elemento de transporte obrigatório. Pode usar o seu próprio transporte ou utilizar um dos elementos de ligação de transporte fornecidos pela Windows Communication Foundation (WCF):
A tabela seguinte resume as opções para cada camada.
| Camada | Opções | Obrigatório |
|---|---|---|
| Fluxo de transações | TransactionFlowBindingElement | Não |
| Reliability | ReliableSessionBindingElement | Não |
| Segurança | Simétrico, assimétrico, Transport-Level | Não |
| Mudança de Forma | CompositeDuplexBindingElement | Não |
| Melhorias nos Transportes | Stream SSL, stream Windows, Peer Resolver | Não |
| Codificação | Texto, binário, MTOM, personalizado | Yes |
| Transport | TCP, Named Pipes, HTTP, HTTPS, versões de MSMQ, Personalizado | Yes |
Além disso, pode definir os seus próprios elementos de ligação e inseri-los entre qualquer uma das camadas definidas anteriormente.
Para uma discussão sobre como usar uma ligação personalizada para modificar uma ligação fornecida pelo sistema, veja Como: Personalizar uma Ligação System-Provided.
Consulte também
- Binding
- BindingElement
- BindingsSection
- CustomBinding
- <Encadernação>
- Ligações
- Extensão das Encadernações
- Ligações personalizadas
- Elemento customBinding
- Ligações
- Configuração System-Provided Ligações
- Usando bindings para configurar serviços e clientes