2011-05-27 48 views
2

我們一直在翻滾,現在已經超過一個月了,其中IIS7.5(WAS)中承載的wcf msmq服務將停止處理來自隊列。確保(重新啓動)在IIS7.5上託管的MSMQ WCF服務WAS

我們一直無法將其縮小到超過「在某個點上」,它將停止處理隊列中的消息。通過http瀏覽器調用調用svc將再次開始處理。

在閱讀了關於這個問題的很多文章,博客和論壇帖子之後,我們確保了以下內容:安全設置,協議綁定和msmq /服務命名,但是可惜:服務仍將停止處理消息(某些時候)。

受此文章的鼓勵http://www.daczkowski.net/2010/11/19/leveraging-msmq-in-asp-net-application-through-wcf-service/我們似乎已經終於(幾乎)消除了windows server 2008 r2 sp1 64位的問題,但它似乎仍然出現在Windows 7 32位上。

現在去我的問題:任何人都可以告訴我,如果實際存在一個保證(關於這個文件將不勝感激),一個msmq WAS託管wcf服務將實際上重新啓動(在所有條件下)在IIS7.5 NOT運行AppFabric擴展?

我知道這個問題非常複雜,但我很難記錄爲什麼我們應該使用AppFabric擴展我們的OTS包來解決這個重新啓動問題。

最好的問候,

回答

0

難道你net.msmq端點實際使用IIS可以綁定到一個隊列名稱的地址?在配置中使用非IIS兼容名稱是可能的,並且WAS將永遠無法喚醒您的應用程序,因爲WAS只會按照它可以解析的路徑名註冊到隊列。在這種情況下,您需要AppFabric或「啓動」腳本等實際激活您的服務,以便它們將自己綁定到隊列中。

+0

您是否知道微軟是否曾在任何地方記錄過這一點信息?我在MSDN和所有主要搜索引擎中搜索過,但無法找到它。我們遵循「ServiceFolderName/ServiceName.svc」隊列命名的約定,以便http://hostName/ServiceFolderName/ServiceName.svc是服務端點地址,私有$ \ ServiceFolderName/ServiceName.svc是隊列名稱。 – 2011-05-27 15:35:50

+0

這個問題比這更恐怖:這個服務可以被IIS單獨激活,但有時候(!)會停止處理。這與事件,如重新啓動進程,服務器等,再循環等不直接相關。這是我們現在已經消除的。該服務將開始處理,但會在某個時間點停止。 我們的服務使用匹配的隊列名稱命名爲「正確」。 – 2011-05-27 15:57:14

+0

@Casper Leon Nielson嗯,這的確很奇怪。我從來沒有見過。 IIS/WAS的事件日誌中絕對沒有? – 2011-05-27 17:07:31