2010-07-23 14 views
7

Come sottoscrivere una coda in msmq utilizzando C#. Supponendo di avere un client come modulo di vincita e vorrei iscrivermi a una coda, ogni volta che un messaggio è arrivato nella coda vorrei che il modulo fosse informato su di esso. Qualsiasi esempio Graziesottoscrivere msmq

risposta

3

È necessario esaminare i tipi nel namespace System.Messaging.

C'è un supporto asincrono completo, quindi è possibile attendere l'arrivo di un messaggio senza interrompere l'interfaccia utente (ma è necessario utilizzare Control.BeginInvoke per richiamare l'interfaccia utente normalmente per azioni asincrone in WinForms).

MSDN contiene numerosi esempi, ad es. di un asynchronous message receive.

0

Come suggerito da @marc_s è possibile utilizzare il servizio WCF che può utilizzare sia NetMSMQ o MSMQIntegrated legame iscriversi ai messaggi in MSMQ.

Se non si desidera introdurre il servizio WCF tra l'applicazione Winforms e MSMQ, è necessario creare un meccanismo di polling per controllare in MSMQ l'arrivo di nuovi messaggi.

1

Perché non dare un'occhiata a NServiceBus?

È una piattaforma molto stabile e matura che è costruita su MSMQ e ha subito un pub/sub immediato. Morto facile da iniziare, e non c'è bisogno di sporcarsi le mani con WCF!