今日,更新了webservices程序後,一分鐘內,突然發現網站不能訪問了,當時給急得真是。。。。
發現是服務器的問題,逐重啓了IIS服務,網站好了,可過了一分鐘,又掛了。
立馬把程序文件全部還原回去,網站一切正常,運行了好一會兒都正常;再把新的程序放上去,IIS立馬又死掉。
查看系統日誌,報的W3C一大堆,
事件類型: 警告
事件來源: W3SVC
事件種類: 無
事件 ID: 1011
日期: 2012-6-3
事件: 14:21:53
用戶: N/A
計算機: WEB-HP
描述:
爲應用程序池 'webservices' 提供服務的進程在與 World Wide Web Publishing 服務通信時遇到致命錯誤。進程 ID 爲 '4528'。數據字段包含錯誤號。
有關更多信息,請參閱在 http://go.microsoft.com/fwlink/events.asp 的幫助和支持中心。
數據:
0000: 6d 00 07 80 m..
看到這個日誌,剛開始還以爲是執行數據庫SQL語句相關的程序有問題,因爲錯誤描述中有“數據字段包含錯誤號”嘛,又逐一檢查數據存儲層的代碼,但仔細一想,本次升了修改也沒有修改任何與數據庫交互相關的代碼呀。。。
又在網上baidu了好大了會兒,按網上說的,把進程池中的“啓用快速失敗保護”功能給關掉,雖然網站不會自動掛掉,但幾乎一秒鐘一個×××感嘆號日誌,看得那是心驚的,如下
事件類型: 警告
事件來源: W3SVC
事件種類: 無
事件 ID: 1009
日期: 2012-6-3
事件: 19:12:13
用戶: N/A
計算機: WEB-HP
描述:
爲應用程序池 'webservices' 提供服務的進程意外終止。進程 ID 是 '1860'。進程退出代碼是 '0x800703e9'。
有關更多信息,請參閱在 http://go.microsoft.com/fwlink/events.asp 的幫助和支持中心。
發現關了進程池中的“啓用快速失敗保護”功能,雖然IIS不自動掛掉了,但錯誤還是在的。
此時,靜下心來想,肯定是程序的問題,因爲原來的程序放上去,沒有任何錯誤日誌,新的程序放上去,就有錯誤。
逐一一檢查修改過的代碼,發現有一個 類的屬性不對,如下
[csharp] view plaincopy
public string iu_doornumber
{
get { return _iu_doornumber; }
set {iu_doornumber = value; }
}
親們,你們看出來問題所在了嗎?
再不修正這個問題的時候,再此編譯,發現雖然給出了警告,但依然還是正確編譯,發狠心,逐一把編譯器給出的所有警告都一一修復後,重新編譯,上傳程序,OK,一切順利。