欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

IIS進程回收導致定時器失效的解決方法(CMD命令)

 更新時間:2015年06月24日 09:15:13   投稿:junjie  
這篇文章主要介紹了IIS進程回收導致定時器失效的解決方法(CMD命令),本文使用BAT腳本和任務計劃定時執(zhí)行腳本解決了這個問題,需要的朋友可以參考下

公司開發(fā)的網(wǎng)站使用的.net,網(wǎng)站中用到了定時器,放在Global.asax.cs文件中,但由于IIS設置了網(wǎng)站進程定期回收,回收后定時器也就沒了。如果不讓進程回收,又擔心程序中有內存泄露。有人說可以在Application_End發(fā)起HTTP請求,但這樣做和設置不讓進程回收沒有任何區(qū)別,結果就是該進程一直運行,只有保證不存在內存泄露才可以這樣做。也有人說可以用Windows Service,對這個不了解,所以這招放棄了。最后想到了一個方法,編寫腳本命令(這里用DOS命令)訪問網(wǎng)站,再通過Windows的任務計劃來定時執(zhí)行腳本。.bat文件如下,直接運行該.bat,發(fā)現(xiàn)會用IE瀏覽器打開www.baidu.com,幾秒后關閉,看來命令運行是OK的。

復制代碼 代碼如下:

::訪問網(wǎng)站,觸發(fā)定時器
::ping10次后關閉,10次大約延時10秒左右,不是很精確,然后關閉IE瀏覽器進程及子進程
 start iexplore.exe  www.baidu.com ::為了保密,這里沒寫真正要訪問的網(wǎng)站
 ping -n 10 127.0.0.1>nul
 taskkill /f /im iexplore.exe  /t

任務計劃在附件——系統(tǒng)工具中,可以“創(chuàng)建基本任務”和“創(chuàng)建任務”,前者比較簡單,定時器的最短間隔為1天,后者功能更強大一些,定時器的最短間隔為1分鐘。這里我使用“創(chuàng)建任務”,在“常規(guī)”中可以設置“只在用戶登當運行”或“不管用戶是否登錄都要運行”,這里設置“不管用戶是否登錄都要運行”(注:選擇該項時,設置完所有參數(shù)后會要求輸入賬戶密碼,如果賬戶密碼為空,會提示錯誤,但貌似空密碼也有解決辦法),配置選與自己電腦的匹配的那項。建立好任務后,當定時器時間到了卻沒有打開IE瀏覽器的窗口,再看任務管理器,有進程iexplore.exe,而且網(wǎng)站也的確被訪問了(在計劃任務運行之前,網(wǎng)站進程是關閉的,而且可以保證該段時間內沒有人訪問,現(xiàn)在發(fā)現(xiàn)網(wǎng)站進程運行中),經(jīng)過多次設置參數(shù)和測試,結果依舊。但如果設置成“只在用戶登當運行”,卻可以看到定時器到后會打開IE窗口。后來在CSDN看到一個帖子,里面有人說如果設置為“不管用戶是否登錄都要運行”,那程序就后臺運行,要想看到交互界面,就要用DOS命令at添加任務計劃。自己想了想,貌似真的是這樣,但知道程序在后臺運行了就OK了,看不到界面也無妨,也許這是Windows的一個bug吧。

缺點:

1、任務計劃的定時器最短間隔為1分鐘,如果再短的,就無能為力了,其實即使可以,也不要用這種發(fā)HTTP請求的方法去激活網(wǎng)站進程,之前設置每5秒發(fā)一次HTTP請求,最后服務器掛了,只能重啟,原因也沒查出來(后來知道不是因為HTTP請求頻繁導致的,至于HTTP請求頻繁會不會導致死機,我不清楚。通過事件日志,發(fā)現(xiàn)本次死機是因為Windows自動更新后重啟,電腦是3點多開始重啟的,但到9點了還沒起來,后打電話問萬網(wǎng)的客服,他們說電腦還在關機界面,看來應該是自動更新的問題。讓他們重啟后,就OK了,然后禁用了自動更新)。

2、關閉IE就意味著關閉所有頁面,如果我們這時正在用IE看其它網(wǎng)頁,那也會關閉,不過還好,因為是在服務器上,一般沒人打開IE。

相關文章

最新評論