2010-07-23 26 views
7

Cách đăng ký hàng đợi bằng msmq bằng cách sử dụng C#. Giả sử tôi có một khách hàng như là một hình thức giành chiến thắng và muốn đăng ký vào một que, mỗi khi một tin nhắn được đến trong que tôi muốn các hình thức được thông báo về nó. Ví dụ. Cảm ơnđăng ký msmq

Trả lời

3

Bạn cần xem xét các loại trong không gian tên System.Messaging.

Có hỗ trợ không đồng bộ đầy đủ, vì vậy bạn có thể chờ tin nhắn đến mà không dừng giao diện người dùng (nhưng bạn cần sử dụng Control.BeginInvoke để gọi lại giao diện người dùng như bình thường đối với hành động không đồng bộ trong WinForms).

MSDN có rất nhiều ví dụ, ví dụ: của một số asynchronous message receive.

0

Theo đề nghị của @marc_s bạn có thể sử dụng dịch vụ WCF mà có thể sử dụng một trong hai NetMSMQ hoặc MSMQIntegrated ràng buộc để đăng ký tin nhắn trong MSMQ.

Nếu bạn không muốn giới thiệu dịch vụ WCF giữa ứng dụng Winforms và MSMQ, bạn sẽ cần xây dựng cơ chế bỏ phiếu để kiểm tra MSMQ khi có thư mới.

1

Tại sao không xem NServiceBus?

Đó là một nền tảng rất ổn định và trưởng thành được xây dựng trên MSMQ và có pub/sub ngay ngoài hộp. Chết dễ dàng để bắt đầu với, và không cần phải có được bàn tay của bạn bẩn với WCF!