2010-08-31 98 views
0

我有一個公開郵件隊列,具有對所有人的完全權限,即我嘗試從匿名Web服務訪問。從匿名Web服務訪問messageQueue

  1. 方法MessageQueue.Exists - >一直返回false。如果隊列是公開的並且每個人都有權限,爲什麼我找不到它?

  2. 我改變了我的代碼看起來像這樣:

    的MessageQueue隊列=新的MessageQueue(名);

    return queue.Peek(expireInterval);

但是,這會引發隊列不存在的異常,或者我沒有權限訪問它。

Web服務必須保持匿名,爲什麼它不足以給予隊列權限?

我甚至嘗試完全控制ANONYMOUS帳號,nada。

有人請解釋這個巫術給我,在此先感謝:)

回答

0

做了一些研究之後,我發現了一個類似的問題在這個網站問得到的回答是從改變隊列路徑「 \ QUEUENAME」到「FORMATNAME:DIRECT = OS:\ QUEUENAME」。

這確實有幫助,雖然我找不到原因。 然後我發現這篇文章: http://www.infosysblogs.com/microsoft/2007/02/msmq_sending_message_to_remote.html 它解釋了遠程訪問MSMQ需要使用FormatName語法。

我還是不明白爲什麼在WS在集成安全性下運行時工作。