<associazioneIntegrazioneMsmq>
Definisce un'associazione che fornisce supporto per l'accodamento mediante il routing dei messaggi tramite MSMQ.
Gerarchia dello schema
<system.serviceModel>
<bindings>
<associazioneIntegrazioneMsmq>
Sintassi
<msmqIntegrationBinding>
<binding
closeTimeout="TimeSpan"
customDeadLetterQueue="Uri"
deadLetterQueue="Uri"
durable="Boolean"
exactlyOnce="Boolean"
maxReceivedMessageSize"Integer"
maxRetryCycles="Integer"
name="string"
openTimeout="TimeSpan" receiveContextEnabled=”Boolean”
receiveErrorHandling="Drop/Fault/Move/Reject"
receiveTimeout="TimeSpan"
receiveRetryCount="Integer"
retryCycleDelay="TimeSpan"
sendTimeout="TimeSpan"
serializationFormat="XML/Binary/ActiveX/ByteArray/Stream">
timeToLive="TimeSpan"
useMsmqTracing="Boolean
useSourceJournal="Boolean"
</binding>
</msmqIntegrationBinding>
Attributi ed elementi
Nelle sezioni seguenti vengono descritti attributi, elementi figlio ed elementi padre.
Attributi
Attributo | Descrizione |
---|---|
closeTimeout |
Valore TimeSpan che specifica l'intervallo di tempo fornito per il completamento di un'operazione di chiusura. Questo valore deve essere maggiore o uguale a Zero. L'impostazione predefinita è 00:01:00. |
customDeadLetterQueue |
URI che contiene il percorso della coda dei messaggi non recapitabili per applicazione, in cui vengono collocati i messaggi scaduti o che non possono essere trasferiti o recapitati. La coda dei messaggi non recapitabili è una coda del gestore delle code dell'applicazione di origine contenente i messaggi scaduti che sono risultati non recapitabili. L'URI specificato da CustomDeadLetterQueue deve utilizzare lo schema net.msmq. |
deadLetterQueue |
Valore DeadLetterQueue che specifica quale tipo di coda dei messaggi non recapitabili utilizzare, se presente. Una coda dei messaggi non recapitabili è un oggetto in cui vengono trasferiti i messaggi che sono stati recapitati. Per i messaggi che richiedono la garanzia exactlyOnce (ovvero per i messaggi per cui occorre che l'attributo exactlyOnce sia impostato su true), questo attributo viene impostato come valore predefinito su una coda dei messaggi non recapitabili transazionale a livello di sistema in MSMQ. Per i messaggi che non richiedono alcuna garanzia, l'impostazione predefinita dell'attributo è null. |
durable |
Valore booleano che indica se il messaggio nella coda è durevole o volatile. A differenza di un messaggio volatile, un messaggio durevole sopravvive a un arresto anomalo di Gestione code. I messaggi volatili sono utili quando le applicazioni richiedono minore latenza e possono tollerare messaggi perduti occasionalmente. Se l'attributo exactlyOnce è impostato su true, i messaggi devono essere durevoli. Il valore predefinito è true. |
exactlyOnce |
Valore booleano che indica se ogni messaggio viene recapitato una sola volta. Il mittente riceverà quindi una notifica degli errori di recapito. Quando durable è false, questo attributo viene ignorato e i messaggi vengono trasferiti senza garanzia di recapito. Il valore predefinito è true. Per ulteriori informazioni, vedere ExactlyOnce. |
maxReceivedMessageSize |
Numero intero positivo che definisce la dimensione massima del messaggio, in byte, comprese le intestazioni, elaborate da questa associazione. Il mittente di un messaggio che supera questo limite riceverà un errore SOAP. Il destinatario elimina il messaggio e crea una voce dell'evento nel registro di traccia. Il valore predefinito è 65536. Questo vincolo alla dimensione dei messaggi limita l'esposizione agli attacchi di tipo Denial of Service (DoS). |
maxRetryCycles |
Numero intero che indica il numero di cicli di ripetizione utilizzati dalla funzionalità di rilevazione dei messaggi non elaborabili. Un messaggio diventa non elaborabile quando falliscono tutti i tentativi di recapito di tutti i cicli. Il valore predefinito è 2. Per ulteriori informazioni, vedere MaxRetryCycles. |
name |
Stringa che contiene il nome della configurazione dell'associazione. Questo valore deve essere univoco perché viene utilizzato per identificare l'associazione. A partire da .NET Framework 4, non è necessario che le associazioni e i comportamenti dispongano di un nome. Per ulteriori informazioni sulla configurazione predefinita e le associazioni e i comportamenti senza nome, vedere Simplified Configuration e Simplified Configuration for WCF Services. |
openTimeout |
Valore TimeSpan che specifica l'intervallo di tempo fornito per il completamento di un'operazione di apertura. Questo valore deve essere maggiore o uguale a Zero. L'impostazione predefinita è 00:01:00. |
receiveErrorHandling |
Valore ReceiveErrorHandling che specifica come vengono gestiti i messaggi non elaborabili e non distribuibili. |
receiveRetryCount |
Numero intero che specifica il numero massimo di tentativi immediati che Gestione code deve tentare se la trasmissione di un messaggio dalla coda dell'applicazione all'applicazione non riesce. Se viene raggiunto il numero massimo di tentativi di recapito senza che l'applicazione acceda al messaggio, il messaggio viene inviato a una coda di tentativi per essere inviato nuovamente in seguito. Il periodo di tempo prima che il messaggio venga trasferito di nuovo alla coda di invio è controllato dall'elemento retryCycleDelay. Se i cicli di ripetizione raggiungono il valore maxRetryCycles, il messaggio viene inviato alla coda dei messaggi non elaborabili oppure viene inviato al mittente un messaggio di non riconoscimento. |
receiveTimeout |
Valore TimeSpan che specifica l'intervallo di tempo fornito per il completamento di un'operazione di ricezione. Questo valore deve essere maggiore o uguale a Zero. L'impostazione predefinita è 00:10:00. |
receiveContextEnabled |
Valore booleano che specifica se il contesto di ricezione per l'elaborazione di messaggi nelle code è abilitato. Quando è impostato su true, un servizio può leggere un messaggio nella coda per avviarne l'elaborazione. Quindi, se si verifica un errore e viene generata un'eccezione, il messaggio rimane in coda. I servizi possono anche bloccare i messaggi per ritentare l'elaborazione in un momento successivo. ReceiveContext offre un meccanismo per il "completamento" del messaggio al termine dell'elaborazione in modo che questo possa essere rimosso dalla coda. I messaggi non verranno più letti e riscritti nelle code in rete e i singoli messaggi non saranno rimbalzati tra le diverse istanze del servizio durante l'elaborazione. |
retryCycleDelay |
Valore TimeSpan che specifica l'intervallo di tempo tra i cicli di ripetizione dei tentativi di recapitare un messaggio che è impossibile recapitare immediatamente. Il valore definisce solo il tempo di attesa minimo, poiché è possibile che l'attesa effettiva sia più lunga. L'impostazione predefinita è 00:30:00. Per ulteriori informazioni, vedere RetryCycleDelay. |
sendTimeout |
Valore TimeSpan che specifica l'intervallo di tempo fornito per il completamento di un'operazione di invio. Questo valore deve essere maggiore o uguale a Zero. L'impostazione predefinita è 00:01:00. |
serializationFormat |
Definisce il formato utilizzato per la serializzazione del corpo del messaggio. L'attributo è di tipo MsmqMessageSerializationFormat. |
timeToLive |
Un valore TimeSpan che specifica la durata di validità dei messaggi prima che scadano e vengano inseriti nella coda dei messaggi non recapitabili. L'impostazione predefinita è 1.00:00:00. L'attributo è impostato per verificare che i messaggi a scadenza non risultino non aggiornati prima di essere elaborati dalle applicazioni riceventi. Un messaggio in una coda che non viene utilizzato dall'applicazione ricevente entro l'intervallo di tempo specificato viene considerato scaduto. I messaggi scaduti vengono inviati a una coda speciale denominata coda dei messaggi non recapitabili. Il percorso della coda dei messaggi non recapitabili viene impostato con l'attributo DeadLetterQueue o sul valore appropriato predefinito, in base alle garanzie. |
useMsmqTracing |
Valore booleano che specifica se i messaggi elaborati da questa associazione devono essere tracciati. Il valore predefinito è false. Quando la traccia è attivata, i messaggi di rapporto vengono creati e inviati alla coda dei rapporti ogni volta che il messaggio viene inviato o ricevuto da un computer in cui è installato il sistema di accodamento messaggi. |
useSourceJournal |
Valore booleano che specifica se le copie dei messaggi elaborati da questa associazione devono essere archiviate nella coda journal di origine. Il valore predefinito è false. Le applicazioni in coda che devono tenere un registro dei messaggi che hanno lasciato la coda in uscita del computer possono copiare i messaggi in una coda journal. Quando un messaggio lascia la coda in uscita e viene ricevuto un riconoscimento che il messaggio è stato ricevuto nel computer di destinazione, una copia del messaggio viene mantenuta nella coda journal del sistema del computer di invio. |
Elementi figlio
Elemento | Descrizione |
---|---|
Definisce le impostazioni di sicurezza per l'associazione. L'elemento è di tipo MsmqIntegrationSecurityElement. |
Elementi padre
Elemento | Descrizione |
---|---|
Questo elemento contiene una raccolta di associazioni standard e personalizzate. |
Osservazioni
Questo elemento di associazione può essere utilizzato per consentire alle applicazioni di Windows Communication Foundation (WCF) di inviare ad applicazioni MSMQ esistenti e ricevere messaggi da tali applicazioni che utilizzano COM, API native MSMQ o i tipi definiti nello spazio dei nomi ( Default Namespace )System.Messaging. È possibile utilizzare questo elemento di configurazione elemento di configurazione può essere utilizzato per specificare come indirizzare la coda, come specificare garanzie di trasferimento, se i messaggi devono essere archiviati in modo durevole e come i messaggi devono essere protetti e autenticati. Per ulteriori informazioni, vedere How to: Exchange Messages with WCF Endpoints and Message Queuing Applications.
Esempio
<configuration>
<system.ServiceModel>
<bindings>
<msmqIntegrationBinding>
<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"
maxImmediateRetries="11"
maxRetryCycles="12"
poisonMessageHandling="Disabled"
rejectAfterLastRetry="false"
retryCycleDelay="00:05:55"
timeToLive="00:11:11"
useSourceJournal="true"
useMsmqTracing="true"
serializationFormat="Binary">
<security mode="None" />
</binding>
</msmqIntegrationBinding
</bindings>
</system.ServiceModel>
</configuration>
Vedere anche
Riferimento
MsmqIntegrationBindingElement
MsmqIntegrationBinding
MsmqIntegrationBindingElement
Concetti
Altre risorse
Windows Communication Foundation Bindings
Configuring System-Provided Bindings
Using Bindings to Configure Services and Clients
Queues in WCF