Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Definisce un'associazione che fornisce il supporto dell'accodamento tramite il routing dei messaggi tramite MSMQ.
<configurazione>
<system.serviceModel>
<Associazioni>
<Custombinding>
<rilegatura>
<Msmqintegrationbinding>
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
Le sezioni seguenti descrivono gli attributi, gli elementi figlio e gli elementi padre
Attributes
| Attribute | Description |
|---|---|
| closeTimeout | Valore TimeSpan che specifica l'intervallo di tempo specificato per il completamento di un'operazione di chiusura. Questo valore deve essere maggiore o uguale a Zero. Il valore predefinito è 00:01:00. |
| customDeadLetterQueue | URI che contiene il percorso della coda dei messaggi non recapitabili per applicazione, in cui vengono inseriti messaggi scaduti o che hanno avuto esito negativo. La coda dei messaggi non recapitabili è una coda nel gestore code dell'applicazione di invio per i messaggi scaduti che non sono stati recapitati. L'URI specificato da CustomDeadLetterQueue deve usare lo schema net.msmq. |
| Deadletterqueue | Valore DeadLetterQueuecon estensione che specifica il tipo di coda di messaggi non recapitabili da utilizzare, se presenti Una coda di messaggi non recapitabili è il percorso in cui verranno trasferiti i messaggi che non sono stati recapitati all'applicazione. Per i messaggi che richiedono il controllo exactlyOnce (ad esempio, l'attributo exactlyOnce è impostato su ), questo attributo viene impostato per trueimpostazione predefinita sulla coda di messaggi non recapitabili transazionali a livello di sistema in MSMQ.Per i messaggi che non richiedono garanzie, per impostazione predefinita questo attributo è null. |
| Durevole | Valore booleano che indica se il messaggio è durevole o volatile nella coda. Un messaggio durevole sopravvive a un arresto anomalo del gestore code, mentre un messaggio volatile non lo fa. I messaggi volatili sono utili quando le applicazioni richiedono una latenza inferiore e possono tollerare occasionalmente messaggi persi. 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 altre informazioni, vedere ExactlyOnce. |
| maxReceivedMessageSize | Intero positivo che definisce le dimensioni massime del messaggio, in byte, incluse le intestazioni, elaborate da questa associazione. Il mittente di un messaggio che supera questo limite riceverà un errore SOAP. Il ricevitore elimina il messaggio e crea una voce dell'evento nel log di traccia. Il valore predefinito è 65536. Questo limite alle dimensioni dei messaggi è destinato a limitare l'esposizione agli attacchi Denial of Service (DoS). |
| maxRetryCycles | Intero che indica il numero di cicli di ripetizione dei tentativi usati dalla funzionalità di rilevamento dei messaggi non elaborabili. Un messaggio diventa un messaggio non elaborabili quando non riesce tutti i tentativi di recapito di tutti i cicli. Il valore predefinito è 2. Per altre informazioni, vedere MaxRetryCycles. |
| nome | Stringa contenente il nome di configurazione dell'associazione. Questo valore deve essere univoco perché viene usato come identificazione per l'associazione. A partire da .NET Framework 4, le associazioni e i comportamenti non devono avere un nome. Per altre informazioni sulla configurazione predefinita e sui comportamenti senza nome, vedere Configurazione semplificata e configurazione semplificata per i servizi WCF. |
| openTimeout | Valore TimeSpan che specifica l'intervallo di tempo specificato per il completamento di un'operazione aperta. Questo valore deve essere maggiore o uguale a Zero. Il valore predefinito è 00:01:00. |
| Receiveerrorhandling | Valore ReceiveErrorHandling che specifica il modo in cui vengono gestiti i messaggi non elaborabili e non visualizzabili. |
| receiveRetryCount | Numero intero che specifica il numero massimo di tentativi immediati che il gestore code deve tentare se la trasmissione di un messaggio dalla coda dell'applicazione all'applicazione ha esito negativo. Se viene raggiunto il numero massimo di tentativi di recapito e il messaggio non è accessibile dall'applicazione, il messaggio viene inviato a una coda di ripetizione dei tentativi per la ripetizione in un secondo momento. La quantità di tempo prima che il messaggio venga trasferito nuovamente alla coda di invio è controllato da retryCycleDelay. Se i cicli di ripetizione raggiungono il maxRetryCycles valore, il messaggio viene inviato alla coda dei messaggi non elaborabili o viene inviato un acknowledgement negativo al mittente. |
| receiveTimeout | Valore TimeSpan che specifica l'intervallo di tempo specificato per il completamento di un'operazione di ricezione. Questo valore deve essere maggiore o uguale a Zero. Il valore predefinito è 00:10:00. |
| receiveContextEnabled | Valore booleano che specifica se il contesto di ricezione per l'elaborazione dei messaggi nelle code è abilitato. Quando questa opzione è impostata su true, un servizio può "visualizzare" un messaggio nella coda per iniziare l'elaborazione e, se qualcosa va storto e viene generata un'eccezione, rimane nella coda. I servizi possono anche "bloccare" i messaggi per ritentare l'elaborazione in un secondo momento. ReceiveContext fornisce un meccanismo per il "completamento" del messaggio una volta elaborato in modo che possa essere rimosso dalla coda. I messaggi non vengono più letti e riscritto nelle code in rete e i singoli messaggi non vengono rimbalzati tra istanze del servizio diverse durante l'elaborazione. |
| retryCycleDelay | Valore TimeSpan che specifica il ritardo di tempo tra i cicli di ripetizione quando si tenta di recapitare un messaggio che non è stato possibile recapitare immediatamente. Il valore definisce solo il tempo di attesa minimo perché il tempo di attesa effettivo può essere più lungo. Il valore predefinito è 00:30:00. Per altre informazioni, vedere RetryCycleDelay. |
| sendTimeout | Valore TimeSpan che specifica l'intervallo di tempo specificato per il completamento di un'operazione di invio. Questo valore deve essere maggiore o uguale a Zero. Il valore predefinito è 00:01:00. |
| serializationFormat | Definisce il formato utilizzato per la serializzazione del corpo del messaggio. Questo attributo è di tipo MsmqMessageSerializationFormat. |
| timeToLive | Valore TimeSpan che specifica per quanto tempo i messaggi sono validi prima della scadenza e inseriti nella coda dei messaggi non recapitabili. Il valore predefinito è 1.00:00:00. Questo attributo è impostato per garantire che i messaggi sensibili al tempo non diventino obsoleti prima che vengano elaborati dalle applicazioni riceventi. Un messaggio in una coda che non viene utilizzato dall'applicazione ricevente entro l'intervallo di tempo specificato viene detto scaduto. I messaggi scaduti vengono inviati a una coda speciale denominata coda di messaggi non recapitabili. La posizione della coda dei messaggi non recapitabili viene impostata con l'attributo DeadLetterQueue o sul valore predefinito appropriato, 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 è abilitata, i messaggi di report vengono creati e inviati alla coda del report ogni volta che il messaggio lascia o arriva a un computer di accodamento messaggi. |
| useSourceJournal | Valore booleano che specifica le copie dei messaggi elaborati da questa associazione devono essere archiviati nel journal di origine. Il valore predefinito è false.Le applicazioni in coda che vogliono mantenere un record di messaggi che hanno lasciato la coda in uscita del computer possono copiare i messaggi in una coda del journal. Quando un messaggio lascia la coda in uscita e viene ricevuto un riconoscimento che indica che il messaggio è stato ricevuto nel computer di destinazione, una copia del messaggio viene mantenuta nella coda del journal di sistema del computer di invio. |
{serializationFormat} Attributo
| Value | Description |
|---|---|
| XML | Formato XML |
| Binary | Formato binario |
| ActiveX | Formato ActiveX |
| Bytearray | Serializza l'oggetto in una matrice di byte. |
| Flusso | Corpo formattato come flusso |
Elementi figli
| Elemento | Description |
|---|---|
| <sicurezza> | Definisce le impostazioni di sicurezza per l'associazione. Questo elemento è di tipo MsmqIntegrationSecurityElement. |
Elementi padre
| Elemento | Description |
|---|---|
| <Associazioni> | Questo elemento contiene una raccolta di associazioni standard e personalizzate. |
Osservazioni:
Questo elemento di associazione può essere usato per consentire alle applicazioni Windows Communication Foundation (WCF) di inviare e ricevere messaggi da applicazioni MSMQ esistenti che usano API native COM, MSMQ o i tipi definiti nello System.Messaging spazio dei nomi È possibile utilizzare questo elemento di configurazione per specificare modi per gestire la coda, le garanzie di trasferimento, se i messaggi devono essere archiviati in modo permanente, e come i messaggi devono essere protetti e autenticati. Per altre informazioni, vedere Procedura: Scambiare messaggi con endpoint WCF e applicazioni di accodamento messaggi.
Example
<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
- MsmqIntegrationBindingElement
- MsmqIntegrationBinding
- MsmqIntegrationBindingElement
- <rilegatura>
- Collegamenti
- Configurazione delle associazioni System-Provided
- Uso delle Associazioni per Configurare i Servizi e i Clienti
- Code in WCF