2010-10-14 38 views
7

Chúng tôi đang sử dụng MSMQ ngay bây giờ với tính năng kích hoạt WCF, nó cho phép chúng tôi không kéo hàng đợi để đọc thư. Nó giống như tin nhắn push đến ứng dụng.Thông báo đăng ký RabbitMQ trong .NET

Vì chúng tôi đang xem xét việc chuyển từ MSMQ sang RabbitMQ thông qua những gì chúng tôi cần từ hàng đợi thông báo.

Tôi không thể liên quan gì đến RabbitMQ. Hỗ trợ khách hàng qua mạng để nhận thông báo tin nhắn từ hàng đợi đã đăng ký?

Có điều gì trong RabbitMQ với .net có thể gửi thông báo đẩy tới người đăng ký như MSMQ không?

Hoặc chúng tôi cần chạy dịch vụ liên tục kiểm tra tin nhắn?

Trả lời

12

Trong AMQP (và RabbitMQ), có hai cách để truy xuất thư: basic.getbasic.consume.

Basic.get được sử dụng để thăm dò ý kiến ​​máy chủ cho thư. Nếu có, nó sẽ được trả lại cho khách hàng. Nếu không, một get-empty được trả về (phương thức .NET trả về null).

Basic.consume đặt người tiêu dùng cho hàng đợi. Các nhà môi giới đẩy tin nhắn cho người tiêu dùng khi họ đến. Bạn có thể lấy được DefaultBasicConsumer, cung cấp cho bạn người tiêu dùng tùy chỉnh của riêng bạn hoặc bạn có thể sử dụng Subscription Message Pattern, điều này cho phép bạn chặn phân phối tiếp theo().

Để biết thêm thông tin, hãy xem hướng dẫn API được liên kết ở trên và .NET Client Userguide. Ngoài ra, một nơi tuyệt vời để đặt câu hỏi liên quan đến RabbitMQ là danh sách gửi thư thảo luận về thỏmq.

+0

bạn có thể xem câu hỏi liên quan - http: //stackoverflow.com/questions/9151698 không? cảm ơn –

5

Tôi nghĩ bạn đang theo dõi một thứ gì đó giống như EventingBasicConsumer. Xem thêm this question/answer

1

Đó là tính năng được cung cấp bởi WAS (Dịch vụ Kích hoạt Windows). Hiện tại, WAS có bộ điều hợp nghe cho net.pipe, net.msmq và net.tcp (và dịch vụ chia sẻ cổng của nó). Tôi đoán bạn sẽ cần một bộ điều hợp nghe AMQP cụ thể.

này có thể giúp http://msdn.microsoft.com/en-us/library/ms789006.aspx

1

Here là một ví dụ tuyệt vời của Simon Dixon trên xuất bản/đăng ký sử dụng dịch vụ RabbitMQ. Nhà xuất bản (nhà sản xuất) là một ứng dụng .NET và người đăng ký (người tiêu dùng) một ứng dụng Android.

Các vấn đề liên quan