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
Można również użyć WCF do subskrybowania wiadomości z kolejki MSMQ i obsługiwać je jako metodę usługi w usłudze WCF.
Wyjazd
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.
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.
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!