<netMsmqBinding>
Define um enlace em fila adequado para comunicação entre máquinas.
<configuração>
<system.serviceModel>
<enlaces>
<netMsmqBinding>
Sintaxe
<netMsmqBinding>
<binding closeTimeout="TimeSpan"
customDeadLetterQueue="Uri"
deadLetterQueue="Uri"
durable="Boolean"
exactlyOnce="Boolean"
maxBufferPoolSize="Integer"
maxReceivedMessageSize="Integer"
maxRetryCycles="Integer"
name="String"
openTimeout="TimeSpan"
poisonMessageHandling="Disabled/EnabledIfSupported"
queueTransferProtocol="Native/Srmp/SrmpSecure"
receiveErrorHandling="Drop/Fault/Move/Reject"
receiveTimeout="TimeSpan"
receiveRetryCount="Integer"
rejectAfterLastRetry="Boolean"
retryCycleDelay="TimeSpan"
sendTimeout="TimeSpan"
timeToLive="TimeSpan"
useActiveDirectory="Boolean"
useMsmqTracing="Boolean"
useSourceJournal="Boolean">
<security>
<message algorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15"
clientCredentialType="None/Windows/UserName/Certificate/InfoCard" />
<transport msmqAuthenticationMode="None/WindowsDomain/Certificate"
msmqEncryptionAlgorithm="RC4Stream/AES"
msmqProtectionLevel="None/Sign/EncryptAndSign"
msmqSecureHashAlgorithm="MD5/SHA1/SHA256/SHA512" />
</security>
<readerQuotas maxArrayLength="Integer"
maxBytesPerRead="Integer"
maxDepth="Integer"
maxNameTableCharCount="Integer"
maxStringContentLength="Integer" />
</binding>
</netMsmqBinding>
Atributos e Elementos
As secções seguintes descrevem atributos, elementos subordinados e elementos principais.
Atributos
Atributo | Descrição |
---|---|
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. |
customDeadLetterQueue |
Um URI que contém a localização da fila de letras por aplicação não entregue, onde são colocadas mensagens que expiraram ou que falharam na transferência ou entrega. A fila de letras não entregues é uma fila no gestor de filas da aplicação de envio para mensagens expiradas que não foram entregues. O URI especificado pelo CustomDeadLetterQueue tem de utilizar o esquema net.msmq. |
deadLetterQueue |
Um DeadLetterQueue valor que especifica o tipo de fila de letras não entregues a utilizar, se existir. Uma fila de letras não entregues é o local onde as mensagens que não foram entregues na aplicação serão transferidas. Para mensagens que requerem exactlyOnce garantia (ou seja, o exactlyOnce atributo está definido como true ), este atributo é predefinido para a fila de letras não entregues transacional em todo o sistema no MSMQ.Para mensagens que não requerem garantias, este atributo é predefinido para null . |
durable |
Um valor booleano que indica se a mensagem é durável ou volátil na fila. Uma mensagem durável sobrevive a uma falha do gestor de filas, enquanto uma mensagem volátil não. As mensagens voláteis são úteis quando as aplicações necessitam de menor latência e podem tolerar mensagens perdidas ocasionais. Se o exactlyOnce atributo estiver definido como true , as mensagens têm de ser duráveis. A predefinição é true . |
exactlyOnce |
Um valor booleano que indica se cada mensagem processada por este enlace é entregue apenas uma vez. Em seguida, o remetente será notificado das falhas de entrega. Quando durable é false , este atributo é ignorado e as mensagens são transferidas sem garantia de entrega. A predefinição é true . Para obter mais informações, consulte ExactlyOnce. |
maxBufferPoolSize |
Um número inteiro que especifica o tamanho máximo do conjunto de memória intermédia para este enlace. A predefinição é 8. |
maxReceivedMessageSize |
Um número inteiro positivo que define o tamanho máximo da mensagem, em bytes, incluindo cabeçalhos, que é processado por 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. Isto vinculado ao tamanho da mensagem destina-se a limitar a exposição a ataques Denial of Service (DoS). |
maxRetryCycles |
Um número inteiro que indica o número de ciclos de repetição utilizados pela funcionalidade de deteção de mensagens venenosas. Uma mensagem torna-se uma mensagem de veneno quando falha em todas as tentativas de entrega de todos os ciclos. A predefinição é 3. Para obter mais informações, consulte MaxRetryCycles. |
name |
Atributo obrigatório. 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. |
QueueTransferProtocol |
Um valor válido QueueTransferProtocol que especifica o transporte do canal de comunicação em fila que este enlace utiliza. O MSMQ não suporta o endereçamento do Active Directory ao utilizar o PROTOCOLO SOAP Reliable Messaging. Por conseguinte, não deve definir este atributo como Srmp ou Srmps quando o useActiveDirectory atributo está definido como true . |
receiveErrorHandling |
Um ReceiveErrorHandling valor que especifica a forma como as mensagens venenosas e não passíveis de correspondência são processadas. |
receiveRetryCount |
Um número inteiro que especifica o número máximo de vezes que o gestor de filas deve tentar enviar uma mensagem antes de a transferir para a fila de repetição. |
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:10:00. |
retryCycleDelay |
Um valor TimeSpan que especifica o atraso de tempo entre ciclos de repetição ao tentar entregar uma mensagem que não pôde ser entregue imediatamente. O valor define apenas o tempo mínimo de espera porque o tempo de espera real pode ser maior. O valor predefinido é 00:10:00. Para obter mais informações, consulte RetryCycleDelay. |
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. |
timeToLive |
Um valor TimeSpan que especifica quanto tempo as mensagens são válidas antes de expirarem e colocadas na fila de letras não entregues. A predefinição é 1.00:00:00. Este atributo está definido para garantir que as mensagens sensíveis ao tempo não ficam obsoletas antes de serem processadas pelas aplicações que recebem. Uma mensagem numa fila que não é consumida pela aplicação de receção dentro do intervalo de tempo especificado diz-se que expirou. As mensagens expiradas são enviadas para uma fila especial denominada fila de letras não entregues. A localização da fila de letras inativas é definida com o DeadLetterQueue atributo ou com a predefinição adequada, com base em garantias. |
usingActiveDirectory |
Um valor booleano que especifica se os endereços de fila devem ser convertidos com o Active Directory. Os endereços de fila MSMQ podem consistir em nomes de caminho ou nomes de formato direto. Com um nome de formato direto, o MSMQ resolve o nome do computador com DNS, NetBIOS ou IP. Com um nome de caminho, o MSMQ resolve o nome do computador com o Active Directory. Por predefinição, o transporte em fila do Windows Communication Foundation (WCF) converte o URI de uma fila de mensagens num nome de formato direto. Ao definir a UseActiveDirectory propriedade como verdadeira, uma aplicação pode especificar que o transporte em fila deve resolver o nome do computador com o Active Directory em vez de DNS, NetBIOS ou IP. |
useMsmqTracing |
Um valor booleano que especifica se as mensagens processadas por este enlace devem ser rastreadas. A predefinição é false . Quando o rastreio está ativado, as mensagens de relatório são criadas e enviadas para a fila do relatório sempre que a mensagem sai ou chega a um computador em fila de mensagens. |
useSourceJournal |
Um valor booleano que especifica cópias de mensagens processadas por este enlace deve ser armazenado no diário de origem. A predefinição é false .As aplicações em fila que pretendam manter um registo de mensagens que saíram da fila de envio do computador podem copiar as mensagens para uma fila de diários. Assim que uma mensagem sai da fila de envio e é recebida uma confirmação de que a mensagem foi recebida no computador de destino, é mantida uma cópia da mensagem na fila do diário do sistema do computador. |
Elementos Subordinados
Elemento | Descrição |
---|---|
<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. |
<segurança> | Define as definições de segurança do enlace. Este elemento é do tipo NetMsmqSecurityElement. |
Elementos Principais
Elemento | Descrição |
---|---|
<enlaces> | Este elemento contém uma coleção de enlaces padrão e personalizados. |
Observações
O netMsmqBinding
enlace fornece suporte para a colocação em fila ao tirar partido da Colocação de Mensagens da Microsoft em Fila (MSMQ) como um transporte e permite suporte para aplicações relativamente conjugadas, isolamento de falhas, redistribuição de carga e operações desligadas. Para um debate sobre estas funcionalidades, veja Filas no WCF.
Exemplo
<configuration>
<system.ServiceModel>
<bindings>
<netMsmqBinding>
<binding closeTimeout="00:00:10"
openTimeout="00:00:20"
receiveTimeout="00:00:30"
sendTimeout="00:00:40"
deadLetterQueue="net.msmq://localhost/blah"
durable="true"
exactlyOnce="true"
maxReceivedMessageSize="1000"
maxRetries="11"
maxRetryCycles="12"
poisonMessageHandling="Disabled"
rejectAfterLastRetry="false"
retryCycleDelay="00:05:55"
timeToLive="00:11:11"
sourceJournal="true"
useMsmqTracing="true"
useActiveDirectory="true">
<security>
<message clientCredentialType="Windows" />
</security>
</binding>
</netMsmqBinding>
</bindings>
</system.ServiceModel>
</configuration>
Veja também
Colabore connosco no GitHub
A origem deste conteúdo pode ser encontrada no GitHub, onde também pode criar e rever problemas e pedidos Pull. Para mais informações, consulte o nosso guia do contribuidor.