2009-07-28 54 views
0

我有一個MSMQ應用程序使用WCF的netmsmqbinding。在默認配置下,啓用活動目錄集成後,一切正常。Wcf-MSMQ:信件正在遞送,但服務未被呼叫?

但是,當我試圖關閉安全性(使用netmsmqbinding的綁定配置)時,好像收到隊列上的消息,即消息正在發佈,因爲我可以在隊列的日記中看到它們,並且它們不在隊列本身或死信隊列中,但相應的WCF操作未被調用。我沒有看到任何異常或錯誤 - 就好像這些消息正在發送和讀取但WCF默默忽略了一樣。

任何想法?

更新:這發生在客戶端和服務器應用程序位於同一主機上時。還要注意,這些消息實際上是從隊列中移除的(即正在接收),但實際的服務操作未被調用。我看到日記隊列中的消息,而不是實際的隊列。

更新2:隊列是事務性的。

更新3:跟蹤不會顯示太多。在「Listen at net.msmq:// address-of-thequeue」的活動中,我得到一個CommunicationException:「套接字連接被中止,這可能是由於處理您的消息時發生錯誤或遠程超出接收超時主機或底層網絡資源問題本地套接字超時是'00:00:09.9930000'。「

關於「正在執行的操作未執行」的活動,我得到一個InvalidOperationException,並且在授權上下文中沒有指定自定義主體。

回答

1

您是否正在關閉客戶端和服務配置中的安全性?如果它們不匹配,那麼服務可能會出錯,並將消息放回隊列中(特別是在使用事務隊列時)。

您是否試過在服務上啓用WCF tracing以查看結果?

+0

+ 1用於跟蹤。將嘗試它。 – 2009-07-29 06:18:43