2010-07-23 9 views
7

Jak zasubskrybować kolejkę w msmq przy użyciu C#. Zakładając, że mam klienta jako formularz wygranej i chciałbym zasubskrybować kolejkę, za każdym razem, gdy nadejdzie wiadomość w kolejce, chciałbym, aby formularz został powiadomiony o tym. Dowolny przykład. Dziękizasubskrybuj msmq

Odpowiedz

3

Musisz spojrzeć na typy w przestrzeni nazw System.Messaging.

Istnieje pełna asynchroniczna obsługa, więc możesz poczekać na wiadomość przychodzącą bez zatrzymywania interfejsu użytkownika (ale będziesz musiał użyć Control.BeginInvoke, aby oddzwonić do swojego interfejsu tak, jak zwykle w przypadku akcji asynchronicznych w WinForm).

MSDN ma wiele przykładów, np. z asynchronous message receive.

0

Jak sugeruje @marc_s można skorzystać z usługi WCF, które można wykorzystać zarówno NetMSMQ lub MSMQIntegrated wiązania się subskrybuj wiadomości w MSMQ.

Jeśli nie chcesz wprowadzać usługi WCF między aplikacją WinForm a MSMQ, musisz zbudować mechanizm odpytywania, aby sprawdzić w MSMQ w poszukiwaniu nowych wiadomości.

1

Dlaczego nie spojrzeć na NServiceBus?

To bardzo stabilna i dojrzała platforma zbudowana na platformie MSMQ, która po wyjęciu z pudełka pub/sub right. Martwe łatwe do rozpoczęcia i nie ma potrzeby, aby zabrudzić sobie ręce WCF!