2008-09-24 70 views
2

我想將計劃任務添加到客戶端的ASP.NET應用程序。這些職位涵蓋的想法很好:緩存活動是否阻止IIS卸載ASP.NET應用程序?

我的問題有兩個部分:首先,將IIS卸載應用程序,如果沒有足夠的請求活動,儘管緩存活動?我的客戶不喜歡像stackoverflow那樣多的流量,所以他們不能依靠用戶請求來保持應用程序的「活動」。顯然,我無法在卸載的應用程序中安排任務。

其次,如果有,是否有辦法阻止IIS卸載配置或外部'保持活動'請求之外的應用程序?我的客戶端的主機不允許進行太多的配置調整,並且保持活躍的實用程序引入了我試圖通過ASP.NET緩存解決方案避免的部署複雜性。

謝謝你一堆。

編輯/結論:TheXenocide的解決方案是完全正確的給出的問題。不過,我認爲這是一個非常糟糕的問題。偷工減料的誘惑總是隱約可見。我恢復了我的感官,並告訴我的客戶使用網站監控工具來保持網站的活躍。另外,即使有額外的部署麻煩,計劃的任務仍在進行Windows服務。

回答

4

不幸的是,超出更改超時配置的範圍(我認爲這可能在Web.config中可行,但我不知道託管提供程序是什麼和不允許的,其中大多數使用中等信任)不要相信有任何其他方法可以讓應用程序不再結束Web請求。你可能會嘗試的一件事可能比在本地機器上使用某些保持活動服務更簡單一些,可能是將一些邏輯添加到Session_Start/Session_End中,以確保總是至少有一個會話處於活動狀態;您可以使用應用程序內的WebRequest類來調用您自己的站點,並且它應該仍然啓動一個新的會話。

祝你好運,讓我們知道你做了什麼:)

更新:這些細節現在非常依賴於IIS的哪個版本和您正在運行的.NET版本的每一個較新版本配置「始終運行」應用程序的方法。