簡體   English   中英

如何在IIS中連續運行WCF服務?

[英]How to make WCF service run continuously in IIS?

我寫了一個小的wcf服務應用程序,它從msmq讀取消息。 並在IIS-7中托管了wcf服務。 問題是我只有在點擊IIS中的瀏覽按鈕時才能閱讀該消息。 沒有客戶端應用程序引用此服務uri。 我需要wcf服務一直自動運行。

是否可以在沒有任何用戶交互的情況下連續運行IIS中托管的WCF服務?

當您在IIS中托管任何內容時,它總是連續運行,除非您的站點處於空閑狀態.IIS有一個默認設置,其中站點空閑超過20分鍾,它將關閉站點。此設置位於應用程序池高級設置,如圖所示下面

應用程序池空閑超時

您可以將應用程序池空閑時間設置為零,以便它永遠不會關閉

還想知道你是如何編寫從MSMQ服務中提取數據的邏輯。如果你沒有查看詳細信息,在WCF或Asp.net中運行定期后台作業並不簡單。如果你使用的是計時器線程,它可能不會一直有效。 如果你正在使用類似遲發型 ,那么細 。但你必須確保它可以精確所有的時間和檢查所有邊緣情況下,像這樣這個

所以拿走就是

如果你需要一個后台任務,使用Windows服務instead.Or你使用類似遲發型本的NuGet在相應的應用程序池,並與IDLETIMEOUT 0

您是否已將應用程序池配置為連續運行? 這意味着至少禁用所有回收機制,將空閑超時設置為0,並設置啟動模式==始終。

您可能會受益於使用應用程序初始化模塊來確保服務始終保持激活狀態。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM