Dettagli di implementazione dell'adapter Ops
Quando si modifica l'adapter Ops o lo si configura a livello di codice, può essere utile comprendere gli aspetti descritti di seguito.
Nota
L'adapter Ops viene compilato mediante Adapter Framework. Per informazioni sulla compilazione di schede con il framework, vedere Sviluppo di adattatori personalizzati.
Elaborazione batch
L'adapter elabora un messaggio alla volta in modo che i singoli messaggi vengano elaborati separatamente. Le operazioni di rollback inoltre vengono eseguite su un solo ordine alla volta. Anche se l'adapter elabora un messaggio alla volta, procede utilizzando batch con una dimensione pari a uno. Ciò facilita la modifica dell'adapter per la gestione di messaggi in batch.
Gestione delle transazioni
L'adattatore usa le funzionalità delle transazioni fornite dalle strutture di Microsoft .NET FrameworkSystem.Transactions . L'adapter crea un nuovo CommitableTransaction e lo usa con TransactionScope. L'adapter chiama i metodi Initialize and Execute nel contesto di questa transazione. Il codice nell'assembly denominato può partecipare alla transazione usando il metodo static Transaction.Current per ottenere il contesto della transazione. Il gestore degli errori di esempio non utilizza questa funzionalità. Per altre informazioni su System.Transactions, vedere "Spazio dei nomi System.Transactions" nella versione della libreria di classi .NET Framework.
Gestione di dati diversi dalle segnalazioni errori
Nella soluzione l'adapter gestisce i messaggi di segnalazione errori dalla nuova funzionalità di segnalazione errori. Tuttavia, poiché il metodo Execute accetta una matrice di byte come solo argomento, non esiste alcun limite specifico a ciò che può essere passato al metodo Execute .
Utilizzo dell'adapter durante la creazione di porte a livello di codice
È possibile specificare l'adapter durante la creazione di porte dal codice. Nella seguente tabella sono riportati i nomi delle proprietà personalizzate e le relative corrispondenze con i nomi visualizzati.
Nome della proprietà personalizzata di trasmissione | Nome visualizzato |
---|---|
DotNetAssemblyStrongName | DotNetAssemblyStrongName |
DotNetClassName | DotNetClassName |
InitializationData | InitializationData |
TransportLocationUri | Non applicabile. |
Tutte le proprietà sono valori stringa. È possibile creare il valore della proprietà TransportLocationUri dal nome dell'assembly e dal nome della classe. L'URI ha il valore OPS://< DotNetAssemblyStrongName/<DotNetClassName>> in cui i segnaposto vengono sostituiti dai valori della proprietà personalizzata corrispondente.
Per informazioni sulla creazione di porte dal codice, vedere Come creare posizioni di ricezione MSMQ e inviare porte dal codice.