Compartilhar via


<msmqIntegration>

Especifica um transporte MSMQ para associação personalizada.

<configuration>
  <system.serviceModel>
    <bindings>
      <customBinding>
        <binding>
          <msmqIntegration>

Sintaxe

<msmqIntegration customDeadLetterQueue="Uri"
                 deadLetterQueue="Custom/None/System"
                 durable="Boolean"
                 exactlyOnce="Boolean"
                 manualAddressing="Boolean"
                 maxBufferPoolSize="Integer"
                 maxImmediateRetries="Integer"
                 maxReceivedMessageSize="Integer"
                 maxRetryCycles="Integer"
                 rejectAfterLastRetry="Boolean"
                 retryCycleDelay="TimeSpan"
                 serializationFormat="XML/Binary/ActiveX/ByteArray/Stream"
                 timeToLive="TimeSpan"
                 useSourceJournal="Boolean"
                 useMsmqTracing="Boolean">
  <msmqTransportSecurity>
  </msmqTransportSecurity>
</msmqIntegration>

Tipo

Type

Atributos e elementos

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

Attributes

Attribute Description
Customdeadletterqueue Um URI que indica o local da fila de mensagens mortas por aplicativo, em que as mensagens que expiraram ou não foram entregues ao aplicativo são transferidas.

Para mensagens que exigem garantias ExactlyOnce (ou seja, exactlyOnce definidas como true), esse atributo usa como padrão a fila de mensagens mortas transacionais em todo o sistema no MSMQ.

Para mensagens que não exigem garantias (ou seja, exactlyOnce é definida como false), esse atributo usa como padrão null.

O valor deve usar o esquema net.msmq. O padrão é null.

Se deadLetterQueue estiver definido como None ou System, esse atributo deverá ser definido como null. Se esse atributo não nullestiver, deverá deadLetterQueue ser definido como Custom.
Deadletterqueue Especifica o tipo de fila de letras mortas a ser usada.

Os valores válidos incluem

– Personalizado: fila de deadletter personalizada.
- Nenhum: nenhuma fila de deadletter deve ser usada.
- Sistema: use a fila de deadletter do sistema.

Esse atributo é do tipo DeadLetterQueue.
Durável Um valor booliano que especifica se as mensagens processadas por essa associação são duráveis ou voláteis. O padrão é true.

Uma mensagem durável sobrevive a uma falha do gerenciador de filas, enquanto uma mensagem volátil não. Mensagens voláteis são úteis quando os aplicativos exigem latência mais baixa e podem tolerar mensagens perdidas ocasionais.

Se exactlyOnce estiver definido como true, as mensagens deverão ser duráveis.
Exactlyonce Um booliano que especifica se as mensagens processadas por essa associação serão recebidas exatamente uma vez. O padrão é true.

Uma mensagem pode ser enviada com ou sem garantias. Uma garantia permite que um aplicativo verifique se uma mensagem enviada atingiu a fila de mensagens de recebimento ou, se não o fez, o aplicativo pode determinar isso lendo a fila de mensagens mortas.

exactlyOnce, quando definido como true, indica que o MSMQ garantirá que uma mensagem enviada seja entregue à fila de mensagens de recebimento uma vez e apenas uma vez e, se a entrega falhar, a mensagem será enviada para a fila de mensagens mortas.

As mensagens enviadas com exactlyOnce o conjunto devem true ser enviadas apenas para uma fila transacional.
manualAddressing Um valor booliano que permite que o usuário assuma o controle do endereçamento de mensagens. Essa propriedade geralmente é usada em cenários de roteador, em que o aplicativo determina para qual dos vários destinos enviar uma mensagem.

Quando definido como true, o canal pressupõe que a mensagem já foi endereçada e não adiciona nenhuma informação adicional a ela. Em seguida, o usuário pode abordar cada mensagem individualmente.

Quando definido como false, o mecanismo de endereçamento padrão do Windows Communication Foundation (WCF) cria automaticamente endereços para todas as mensagens.

O padrão é false.
maxBufferPoolSize Um inteiro positivo que especifica o tamanho máximo do pool de buffers. O padrão é 524288.

Muitas partes do WCF usam buffers. Criar e destruir buffers sempre que eles são usados é caro e a coleta de lixo para buffers também é cara. Com pools de buffers, você pode pegar um buffer do pool, usá-lo e devolvê-lo ao pool assim que terminar. Portanto, a sobrecarga na criação e destruição de buffers é evitada.
maxImmediateRetries Um inteiro que especifica o número máximo de tentativas de repetição imediatas em uma mensagem lida da fila do aplicativo. O padrão é 5.

Se o número máximo de novas tentativas imediatas para a mensagem for tentado e a mensagem não for consumida pelo aplicativo, a mensagem será enviada para uma fila de repetição para tentar novamente em algum momento posterior. Se nenhum ciclo de repetição for especificado, as mensagens serão enviadas para a fila de mensagens suspeitas ou uma confirmação negativa será enviada de volta ao remetente.
maxReceivedMessageSize Um inteiro positivo que especifica o tamanho máximo da mensagem em bytes, incluindo cabeçalhos. O remetente de uma mensagem recebe uma falha SOAP quando a mensagem é muito grande para o receptor. O receptor descarta a mensagem e cria uma entrada do evento no log de rastreamento. O padrão é 65536.
Maxretrycycles Um inteiro que especifica o número máximo de ciclos de repetição para tentar a entrega de mensagens para o aplicativo receptor. O padrão é MaxValue.

Um único ciclo de repetição tenta entregar uma mensagem a um aplicativo um número especificado de vezes. O número de tentativas feitas é definido pelo maxImmediateRetries atributo. Se o aplicativo não consumir a mensagem depois que as tentativas de entrega tiverem sido esgotadas, a mensagem será enviada para uma fila de repetição. Os ciclos de repetição subsequentes consistem na mensagem retornada da fila de repetição para a fila do aplicativo para tentar a entrega para o aplicativo novamente, após um atraso especificado pelo retryCycleDelay atributo. O maxRetryCycles atributo especifica o número de ciclos de repetição que o aplicativo usa para tentar entregar a mensagem.
rejectAfterLastRetry Um valor booliano que especifica qual ação executar para uma mensagem que falhou na entrega após a tentativa de número máximo de tentativas.

true significa que uma confirmação negativa é retornada ao remetente e a mensagem é descartada; false significa que a mensagem é enviada para a fila de mensagens suspeitas. O padrão é false.

Se o valor for false, o aplicativo receptor poderá ler a fila de mensagens suspeitas para processar mensagens suspeitas (ou seja, mensagens que falharam na entrega).

O MSMQ 3.0 não dá suporte ao retorno de uma confirmação negativa ao remetente, portanto, esse atributo será ignorado no MSMQ 3.0.
Retrycycledelay Um TimeSpan que especifica o atraso de tempo entre os ciclos de repetição ao tentar entregar uma mensagem que não pôde ser entregue imediatamente. O padrão é 00:10:00.

Um único ciclo de repetição tenta entregar uma mensagem a um aplicativo receptor um número especificado de vezes. O número de tentativas feitas é especificado pelo maxImmediateRetries atributo. Se o aplicativo não consumir a mensagem após o número especificado de novas tentativas imediatas, a mensagem será enviada para uma fila de repetição. Os ciclos de repetição subsequentes consistem na mensagem retornada da fila de repetição para a fila do aplicativo para tentar a entrega para o aplicativo novamente, após um atraso especificado pelo retryCycleDelay atributo. O número de ciclos de repetição é especificado pelo maxRetryCycles atributo.
serializationFormat Especifica o formatador usado para serializar objetos que são enviados como parte de uma mensagem MSMQ. Valores válidos são

- ActiveX: o formatador ActiveX é usado ao serializar objetos COM.
- Binário: serializa o objeto em um pacote binário.
- ByteArray: serializa o objeto para uma matriz de bytes.
- Fluxo: serializa o objeto para um fluxo.
- Xml: serializa o objeto para um pacote XML. O padrão é XML.

Esse atributo é do tipo MsmqMessageSerializationFormat.
timeToLive Um TimeSpan que especifica quanto tempo as mensagens são válidas antes de expirarem e são colocadas na fila de mensagens mortas. O padrão é 1,00:00:00, o que significa 1 dia.

Esse atributo é definido para garantir que as mensagens sensíveis ao tempo não fiquem obsoletas antes de serem processadas pelos aplicativos receptores. Uma mensagem em uma fila que não é consumida pelo aplicativo receptor dentro do intervalo de tempo especificado é considerada expirada. Mensagens expiradas são enviadas para uma fila especial chamada fila de mensagens mortas. O local da fila de letras mortas é definido com o customDeadLetterQueue atributo ou com o padrão apropriado, com base em garantias.
useMsmqTracing Um valor booliano que especifica se as mensagens processadas por essa associação devem ser rastreadas. O padrão é false.

Quando o rastreamento é habilitado, as mensagens de relatório são criadas e enviadas para a fila de relatório sempre que a mensagem sai ou chega a um computador de Enfileiramento de Mensagens.
useSourceJournal Um valor booliano que especifica se as cópias das mensagens processadas por essa associação devem ser armazenadas na fila do diário de origem. O padrão é false.

Aplicativos enfileirados que desejam manter um registro de mensagens que deixaram a fila de saída do computador podem copiar as mensagens para uma fila de diários. Depois que uma mensagem sai da fila de saída e uma confirmação é recebida de que a mensagem foi recebida no computador de destino, uma cópia da mensagem é mantida na fila de diários do sistema de envio.

Elementos filho

Elemento Description
Msmqtransportsecurity Especifica as configurações de segurança de transporte para essa associação. Esse elemento é do tipo MsmqTransportSecurityElement.

Elementos pai

Elemento Description
<ligação> Define todos os recursos de associação da associação personalizada.

Consulte também