最近,本人在做一個網站項目的時候,遇到一個讓我很頭疼的問題,就是網站程序在服務器上在某個時候會自動停止對應的程序池,在服務器上查看日志卻找不到具體的錯誤原因說明,如下:
通過在百度查詢,很多人都是同樣的說檢查代碼是否有死循環(huán),或檢查服務器上網站的權限配置等,通過這些操作和配置,程序池自動停止仍然還是會出現,然后手動將自動停止的程序池重新啟動又好了。
在我確認了程序沒有死循環(huán)代碼,權限配置無誤,本地服務器配置網站從沒有出現過程序池自動停止的現象,萬般無奈之下 只能從另外一個角度來解決問題了,既然IIS程序池自動停止,那我只有讓IIS自動停止的程序池又自動重啟不就解決問題了嗎?有了思路以后就好辦了,然后根據這個思路在網上找到了C#編寫讓IIS程序池自動重啟的代碼,具體編寫流程如下:
一. 先創(chuàng)建一個windows窗體應用程序項目
二. 創(chuàng)建成功之后,可以給窗體進行設計,添加控件等,這個看自己的需要,因為事情需急著處理,我就沒有將窗體弄的很漂亮,當時是夠用就行。
三.開始寫讓程序池自動重啟代碼。
四.代碼編寫完之后,將程序發(fā)布成exe程序,進行測試是否可行。
五.發(fā)布成功之后會生成對應的安裝文件
六.將setup.exe進行安裝,并使其能隨電腦開啟而自動開啟.
安裝完之后會自動生成exe程序,并啟動。
只剩最后一步就是讓程序能隨著服務器重啟之后也能自動開啟運行,操作如下。
找到程序的安裝目錄,將這個都復制,然后將文件黏貼到windows自動運行的文件夾。
右擊可以找到安裝目錄,復制放到一下目錄,點擊iisAuto.application。
成功運行之后,這樣程序就能隨著服務器重啟而能自動重新運行了,不用擔心會自動關閉運行了。
最后總結下,這個方法只是暫時的解決了自動停止的問題,最終我們還是要找到自動停止的原因才是上策.(現在的關鍵是怎么百度也找不到原因所在)