Quando scegliere una tecnologia Penso che sia utile considerare non solo può la tecnologia soddisfare le vostre esigenze, ma anche se era progettata per soddisfare le vostre esigenze. Con questo intendo che dovresti scegliere l'opzione migliore piuttosto che la prima opzione che sembra abbastanza buona. Probabilmente potresti risolvere questo problema con file di registrazione o di testo o con altri mezzi, ma questo non significa che dovresti.
mio ordine di preferenza in questa situazione sarebbe
- banca dati
- MSMQ
- tutto il resto
Se non è possibile salvare le transazioni di database per qualsiasi ragione, allora MSMQ probabilmente può aiutarti qui. Dovrebbe funzionare meglio di un'apertura di una connessione al database &, ma ancora fornisce un livello di persistenza 'buono'. Il lato negativo è che è più codice e un altro punto di errore per la tua applicazione (non che fallirà se scritto correttamente, ma più codice significa più posti per bug).
Si può gettare le transazioni in una coda molto facilmente usando qualcosa di simile
private string queuePath = @".\Private$\myQueue";
MessageQueue queue = new MessageQueue(queuePath);
Message message = new Messge();
message.Id = "messageId";
message.Body = "my content";
queue.Send(message, transaction);
transaction.Complete();
queue.Close();
e quindi recuperare in un secondo momento attraverso le proprietà interrogazione: MSMQ querying for a specific message. C'è un sacco di altre funzionalità fuori dalla scatola ma è semplice.
Alcune domande pertinenti ripresi:
fonte
2011-11-06 22:30:56
MSMQ per il presidente! – stefan