C#MVC專案,后臺代碼,執行緒和定時器寫在Application_Start方法里面過一段時間,大概是50分鐘就停止,
原因是IIS自動回收引起的,有什么好的方法阻止IIS自動回收。
uj5u.com熱心網友回復:
應用池高級設定回收
發生配置更改禁止回收為True
固定時間間隔(分鐘) 改為 0
虛擬記憶體限制(KB) 改為 0
專用記憶體限制(KB) 改為 0
行程模型
閑置超時(分鐘)改為 0
話說你里面寫的啥代碼,看看能不能放在windows服務里去做
你不回收IIS行程的記憶體CPU很容易出現一直漲的問題
uj5u.com熱心網友回復:
MVC專案,我是在Global.asax里面Application_Start寫的代碼是每隔2個小時,定時讀取資料庫的資料,寫到txt檔案,壓縮成壓縮包,替換web站點的壓縮包,提供給別人下載,設定IIS的應用程式池的屬性是可以,但是會有隱患,導致記憶體增大uj5u.com熱心網友回復:
你這個完全可以用windows服務去做啊,或者你弄個任務計劃跑控制臺程式都行了
uj5u.com熱心網友回復:
現在的問題是web專案包括前端的部分專案集成在一起,需求方不允許用windows服務,在網上查了其他的方法好像不行,所以問問有什么其他的方法uj5u.com熱心網友回復:
外網能訪問嗎,可以的話你就在自己的機器上一直訪問他,一回收就能重新開始Application_Start事件
uj5u.com熱心網友回復:
不用代碼,手動配置一個定時計劃任務。至于其他的東西,根據大然然道德帝的最高指示,本版不允許出現任何擴展性質討論。否則就是打擊新人,認為新人都是白癡。
所以我們不會告訴你:iis7有熱加載選擇,也不會告訴你重net core,owin,nancy這類東西可以脫離IIS單獨存在
uj5u.com熱心網友回復:
在正式環境,一般 IIS 都要做兩個必要的設定:http://bibaoke.com/post/66
uj5u.com熱心網友回復:
執行緒和定時器里面用 webclient 定時訪問下網站homepageuj5u.com熱心網友回復:
這些東西為什么要寫在專案里面,在外面寫個守護程式跟他對接豈不美哉?uj5u.com熱心網友回復:
IIS自動回收的不要去改,人家默認這樣做一定是有道理的。有些東西可以用window service來替代,沒必要做在web里了吧,定時讀取資料庫的資料,寫到txt檔案,壓縮成壓縮包,替換web站點的壓縮包,提供給別人下載
你這個完全可以自已寫個window service
還有說一定要在web用socket長連接訪問別人服務器,那么因為IIS回收的問題,做好斷線重連
uj5u.com熱心網友回復:
windows服務或者 winform 程式可以提供 http 輕量級服務,然后開發一個純粹的 web client 網站(一個檔案夾中只有 html、js、資源檔案等等純粹運行在瀏覽器前端的檔案)。前后端徹底分離,這是最近7、8年的潮流。現在還在糾結web服務器端頁面生成器編程顯得非常過時了。轉載請註明出處,本文鏈接:https://www.uj5u.com/net/49615.html
標籤:ASP.NET
