我曾嘗試使用NServiceBus版本3接收來自遠程客戶端計算機發送到MSMQ隊列中的消息。客戶端與目標隊列所在的機器位於同一個域中。後一臺機器運行Windows Server 2008 R2(MSMQ版本5.0)作爲操作系統。考慮到NServiceBus文檔,我以「QueueName @ MachineName」的形式指定了端點名稱。但是,郵件未被髮送到指定隊列。似乎「MessageQueue」類的「Transactional」屬性導致了問題。所以我繞過了訪問NServiceBus源代碼中的屬性。其結果消息被成功發送,但已收到無應答消息在客戶端。更確切地說,當我查看服務器管理器窗口上的消息信息時,響應隊列的名稱是空的。 只有在遠程發送消息時纔會發生這種情況。看來我已經錯誤地設置了一些配置。我想知道我需要提供什麼配置信息才能使NServiceBus在上述環境中工作。此外,是否有一個示例項目演示瞭如何使用NServiceBus將消息發送到遠程隊列並接收相應的答覆消息。如何配置NServiceBus以使用遠程MSMQ隊列?
回答
如果配置了客戶端過程僅發送端點,那麼將不包括在其發送,這意味着服務器將無法響應消息的返回地址。話雖如此,我不認爲這是你的問題。
你應該嘗試運行帶有NServiceBus在你的機器,看看它是否工作正常全雙工樣品。如果沒有,那意味着你需要更正那些機器上的更深的安裝問題。
非常感謝您的回覆。我嘗試了「FullDuplex」示例,同樣的問題仍然存在。更具體地講,它拋出,上面寫着'無法格式名獨立名翻譯例外:PRIVATE = b95d7982-6157-462e-9c6c-15275ecc214f \ 00000088'。後跟隊列號的GUID確實指向響應隊列所在的客戶端機器。但是,似乎獲取響應隊列的QueueName屬性時存在問題。異常發生在'NServiceBus.Utils.MsmqUtilities.GetIndependentAddressForQueue(MessageQueue q)'方法中。 – 2013-03-30 11:43:29
那麼很可能你的MSMQ安裝不好。最有可能的是,您已啓用Active Directory集成,並且需要關閉。 – 2013-04-02 20:51:38
非常感謝Udi,感謝您的幫助和關心。禁用「目錄服務集成」後,系統現在按預期工作。 – 2013-04-06 11:42:29
- 1. 如何正確設置NServiceBus以使用遠程錯誤隊列?
- 2. 連接到專用遠程MSMQ隊列
- 3. 用NServiceBus遠程暴露消息隊列
- 4. NServiceBus不自動創建隊列(MSMQ)
- 5. NserviceBus MSMQ輸入隊列與IP地址
- 6. 訂閱隊列時nServiceBus MSMQ錯誤
- 7. 如何在配置rebus路由時指定遠程MSMQ隊列名稱?
- 8. MSMQ:遠程消息隊列訪問
- 9. MassTransit MSMQ遠程隊列無法訪問
- 10. MSMQ發送消息到遠程隊列
- 11. MSMQ同步寫入遠程隊列
- 12. NServiceBus:如何自己配置MSMQ(不使用runmefirst.bat)
- 13. 如何以編程方式設置專用MSMQ隊列上的權限設置以進行遠程訪問?
- 14. MSMQ:如何在遠程計算機上創建專用隊列
- 15. nservicebus使用通用主機與azure隊列導致msmq錯誤
- 16. 如何更改NServiceBus中的MSMQ響應隊列名稱格式?
- 17. NServiceBus&MSMQ:如何更改隊列上的默認權限?
- 18. 你可以有多個輸入msmq隊列到nServiceBus主機?
- 19. MSMQ - 使用遠程讀取,並在同一個隊列遠程發送
- 20. 如何在MSMQ中使用NServiceBus
- 21. WCF遠程MSMQ - 我可以寫一個遠程隊列,但不能接收
- 22. 客戶端無法讀取遠程MSMQ隊列,但可以發送到遠程隊列
- 23. 設置NServiceBus隊列中EndpointConfig.cs
- 24. SSIS發送MSMQ消息到遠程服務器專用隊列
- 25. MSMQ - 發送到遠程專用隊列什麼也不做
- 26. MSMQ問題閱讀遠程專用隊列(再次)
- 27. 如何以編程方式讀取MSMQ隊列上的權限?
- 28. NServiceBus MSMQ消息間歇性地停留在傳出隊列中
- 29. MSMQ:從遠程計算機的MSMQ隊列中獲取消息的計數
- 30. 有人可以提供一個例子說明如何在Msmq 4.0中使用遠程事務隊列嗎?
你試圖做一個遠程接收?如果是這樣,NSB只接收來自本地隊列。 – 2013-03-27 17:46:13
不,我只想遠程發送消息(即將它們發送到遠程隊列)。事實上,接收是由NServiceBus在本地完成的,並且預計將發送一條新消息來響應收到的消息。 – 2013-03-30 07:16:09