Tôi đang cố gắng tìm hiểu cách thức phát đa hướng hoạt động trong MSMQ nhưng tôi không thể nhận tin nhắn nào cả, ngay cả từ cùng một máy. Tôi rõ ràng đang làm điều gì đó sai nhưng không thể nhìn thấy gì.MSMQ - Không thể nhận được từ hàng đợi Multicast
Đây là nơi tôi tại địa chỉ:
tôi tự tạo ra một hàng đợi riêng không giao dịch được gọi là MulticastTest
và sau đó thiết lập địa chỉ Multicast để 234.1.1.1:8001
. Sau đó, ứng dụng gửi thử nghiệm của tôi thực hiện điều này:
MessageQueue queue = new MessageQueue("FormatName:MULTICAST=234.1.1.1:8001");
queue.Send("Hello World");
Tác vụ này, ít nhất dường như gửi thư mà tôi thấy trong hàng đợi đi trên cùng một máy. Ít nhất tôi cho rằng điều này là chính xác, xin vui lòng cho tôi biết nếu nó không phải là.
Vì vậy, bây giờ tôi thử và chạy ứng dụng nhận của mình (trên cùng một máy hoặc một máy khác được định cấu hình cho cùng một địa chỉ phát đa hướng) và tôi không thể làm cho nó hoạt động. Nếu tôi cố gắng này:
MessageQueue queue = new MessageQueue("FormatName:MULTICAST=234.1.1.1:8001");
var message = queue.Receive();
Nó chỉ đơn giản sẽ không làm việc, phương pháp Receive()
ném một ngoại lệ nói:
Tên định dạng cụ thể không hỗ trợ các hoạt động yêu cầu. Ví dụ, một tên định dạng hàng đợi trực tiếp có thể không bị xóa
Nếu tôi cố gắng và thiết lập hàng đợi nhận như .\private$\MulticastTest
nó ít nhất chờ đợi một bức thư nhưng không có gì xảy ra, tất cả các thư vẫn ở lại trong hàng đợi đi.
Vì vậy, tôi đang làm gì sai? Có một số loại dịch vụ cần phải chạy cho MSMQ để gửi tin nhắn từ hàng đợi gửi đi không?
Tôi cũng đã thử cấp toàn quyền cho NGƯỜI DÙNG ANONYMOUS theo this question nhưng điều đó không ảnh hưởng.
Hi Peter, tôi theo các bước sau vẫn tôi vẫn chưa thể nhận được thông báo trong máy khác nhau, nó hoạt động tốt trong cùng một máy, tôi thấy thông báo đó trong bản ghi sự kiện, nó đã gợi ý 2 IP trong tin nhắn, tôi đã thêm khóa với IP đó –
Liên kết kỹ thuật đã chết. Bạn có thể cập nhật hoặc xóa nó? –
@SeanB thay thế liên kết với người khác, hy vọng truyền tải thông tin phù hợp, nó đã được khá lâu rồi! –