最近,本人在做一個(gè)網(wǎng)站項(xiàng)目的時(shí)候,遇到一個(gè)讓我很頭疼的問(wèn)題,就是網(wǎng)站程序在服務(wù)器上在某個(gè)時(shí)候會(huì)自動(dòng)停止對(duì)應(yīng)的程序池,在服務(wù)器上查看日志卻找不到具體的錯(cuò)誤原因說(shuō)明,如下:
通過(guò)在百度查詢(xún),很多人都是同樣的說(shuō)檢查代碼是否有死循環(huán),或檢查服務(wù)器上網(wǎng)站的權(quán)限配置等,通過(guò)這些操作和配置,程序池自動(dòng)停止仍然還是會(huì)出現(xiàn),然后手動(dòng)將自動(dòng)停止的程序池重新啟動(dòng)又好了。
在我確認(rèn)了程序沒(méi)有死循環(huán)代碼,權(quán)限配置無(wú)誤,本地服務(wù)器配置網(wǎng)站從沒(méi)有出現(xiàn)過(guò)程序池自動(dòng)停止的現(xiàn)象,萬(wàn)般無(wú)奈之下 只能從另外一個(gè)角度來(lái)解決問(wèn)題了,既然IIS程序池自動(dòng)停止,那我只有讓IIS自動(dòng)停止的程序池又自動(dòng)重啟不就解決問(wèn)題了嗎?有了思路以后就好辦了,然后根據(jù)這個(gè)思路在網(wǎng)上找到了C#編寫(xiě)讓IIS程序池自動(dòng)重啟的代碼,具體編寫(xiě)流程如下:
一. 先創(chuàng)建一個(gè)windows窗體應(yīng)用程序項(xiàng)目
二. 創(chuàng)建成功之后,可以給窗體進(jìn)行設(shè)計(jì),添加控件等,這個(gè)看自己的需要,因?yàn)槭虑樾杓敝幚?,我就沒(méi)有將窗體弄的很漂亮,當(dāng)時(shí)是夠用就行。
三.開(kāi)始寫(xiě)讓程序池自動(dòng)重啟代碼。
四.代碼編寫(xiě)完之后,將程序發(fā)布成exe程序,進(jìn)行測(cè)試是否可行。
五.發(fā)布成功之后會(huì)生成對(duì)應(yīng)的安裝文件
六.將setup.exe進(jìn)行安裝,并使其能隨電腦開(kāi)啟而自動(dòng)開(kāi)啟.
安裝完之后會(huì)自動(dòng)生成exe程序,并啟動(dòng)。
只剩最后一步就是讓程序能隨著服務(wù)器重啟之后也能自動(dòng)開(kāi)啟運(yùn)行,操作如下。
找到程序的安裝目錄,將這個(gè)都復(fù)制,然后將文件黏貼到windows自動(dòng)運(yùn)行的文件夾。
右擊可以找到安裝目錄,復(fù)制放到一下目錄,點(diǎn)擊iisAuto.application。
成功運(yùn)行之后,這樣程序就能隨著服務(wù)器重啟而能自動(dòng)重新運(yùn)行了,不用擔(dān)心會(huì)自動(dòng)關(guān)閉運(yùn)行了。
最后總結(jié)下,這個(gè)方法只是暫時(shí)的解決了自動(dòng)停止的問(wèn)題,最終我們還是要找到自動(dòng)停止的原因才是上策.(現(xiàn)在的關(guān)鍵是怎么百度也找不到原因所在)
如沒(méi)特殊注明,文章均為方維網(wǎng)絡(luò)原創(chuàng),轉(zhuǎn)載請(qǐng)注明來(lái)自http://www.sdlwjx666.com/news/2483.html