Tôi có phần mềm chạy cục bộ và trên một số máy chủ nào sau đây:MSMQ :: GetPrivateQueuesByMachine thất bại khi sử dụng "localhost"
var queues = MessageQueue.GetPrivateQueuesByMachine("localhost");
Một máy chủ nói riêng ném một ngoại lệ:
System.Messaging.MessageQueueException: Message Queue service is not available.
at System.Messaging.MessageQueue.GetPrivateQueuesByMachine(String machineName)
MSMQ được cài đặt giống như trên các máy khác của tôi. Tôi cũng có nhiều Dịch vụ WCF được liên kết thành công với net.msmq://localhost/private/...
.
Có một số lý do khiến MSMQ có thể không bị ràng buộc với localhost không?
Sau khi kiểm tra MSDN, có vẻ như tôi nên sử dụng ".", Hoạt động tốt, nhưng tôi muốn tránh thay đổi mã và triển khai lại, khi localhost có vẻ hoàn toàn hiệu quả. FWIW, đây là kết quả của một số thử nghiệm khác mà tôi đã chạy:
var queues = MessageQueue.GetPrivateQueuesByMachine("."); // succeeds
var queues = MessageQueue.GetPrivateQueuesByMachine("localhost"); // fails
var queues = MessageQueue.GetPrivateQueuesByMachine("127.0.0.1"); // fails
var queues = MessageQueue.GetPrivateQueuesByMachine("machineName"); // fails
Bạn có giải pháp nào cho vấn đề này không? Nếu bạn sẽ giúp tôi –
@Tôi đã không làm vậy. Tôi mới bắt đầu sử dụng "." mọi nơi. Đối với sự xấu hổ ... = [ – Langdon
Ok cảm ơn cho phát lại ... Tôi nghĩ rằng tôi cần phải tìm bất kỳ cách nào khác .. –