服務(wù)器的環(huán)境為:
系統(tǒng):windows server 2008 r2
數(shù)據(jù)庫:sql server 2008
WEB應(yīng)用服務(wù):iis 7+.net framework 2.0
于是重啟服務(wù)器,狀況于舊,于是查看應(yīng)用程序日志,大致就出現(xiàn)了一個警告和兩個錯誤的消息。
如下警告一:
事件代碼: 3005
事件消息: 發(fā)生了未處理的異常。
事件時間: 2011/4/17 14:16:39
事件時間(UTC): 2011/4/17 6:16:39
事件 ID: ddeccdde5e334b908687bf16d39e16be
事件序列: 14
事件匹配項: 1
事件詳細(xì)信息代碼: 0
應(yīng)用程序信息:
應(yīng)用程序域: /LM/W3SVC/2/ROOT-1-129474945965819063
信任級別: Full
應(yīng)用程序虛擬路徑: /
應(yīng)用程序路徑:###
計算機名: ###
進(jìn)程信息:
進(jìn)程 ID: 5008
進(jìn)程名: w3wp.exe
帳戶名: NT AUTHORITY\NETWORK SERVICE
異常信息:
異常類型: TypeLoadException
異常消息: 未能從程序集“System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”中加載類型“System.Security.Authentication.ExtendedProtection.ChannelBinding”。
請求信息:
請求 URL:
請求路徑:
用戶主機地址:
用戶:
是否已經(jīng)過身份驗證: False
身份驗證類型:
線程帳戶名: NT AUTHORITY\NETWORK SERVICE
線程信息:
線程 ID: 4
線程帳戶名: NT AUTHORITY\NETWORK SERVICE
是否正在模擬: False
堆棧跟蹤: 在 System.Web.Hosting.ISAPIWorkerRequestInProc.Close()
在 System.Web.Hosting.ISAPIWorkerRequest.FlushCachedResponse(Boolean isFinal)
在 System.Web.Hosting.ISAPIWorkerRequest.EndOfRequest()
在 System.Web.HttpRuntime.FinishRequest(HttpWorkerRequest wr, HttpContext context, Exception e)
在 System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr)
在 System.Web.HttpRuntime.ProcessRequestNoDemand(HttpWorkerRequest wr)
在 System.Web.Hosting.ISAPIRuntime.ProcessRequest(IntPtr ecb, Int32 iWRType)
自定義事件詳細(xì)信息:
錯誤一:
錯誤應(yīng)用程序 w3wp.exe,版本 7.0.6002.18005,時間戳 0x49e023cf,錯誤模塊 isapi.dll,版本 7.0.6002.18210,時間戳 0x4b806b3e,異常代碼 0xc0000005,錯誤偏移量 0x00014a44, 進(jìn)程 ID 0x%9,應(yīng)用程序啟動時間 0x%10。
錯誤二:
錯誤應(yīng)用程序 w3wp.exe,版本 7.0.6002.18005,時間戳 0x49e023cf,錯誤模塊 iiscore.dll,版本 7.0.6002.18210,時間戳 0x4b806ae9,異常代碼 0xc0000005,錯誤偏移量 0x00010d1a, 進(jìn)程 ID 0x1390,應(yīng)用程序啟動時間 0x01cbfcc701688307。
大致應(yīng)該是asp.net進(jìn)程的某些請求導(dǎo)致IIS出錯,于是通過Google、Baidu之后,都未能解決該問題,甚至到國外的網(wǎng)站,說可能是ARR導(dǎo)致的,但我們沒有用到IIS中的重定向啊,http://support.microsoft.com/?kbid=2281517 ,但試一試也不礙事,總得比不去解決好,但微軟的指引依然是不能幫我解決我遇到的問題。
無助之際,查找了Windows更新日志,發(fā)現(xiàn)一個巧合的事情,2011年4月17日凌晨三點多的時候,Windows自動更新并安裝了有十幾個補丁,其中有IIS方面的漏洞,也一些kb開頭的補丁,也就是說今天早上安裝了補丁后就出了故障了。
想到之前個人電腦自動更新時也導(dǎo)致XP下的IIS6出現(xiàn)無法啟動的事,于是立即將其更新程序全部刪除,重啟計算機,一試,所有的問題都沒有,沒有Http Erro 503,也沒有application error。
總結(jié):
1、關(guān)閉Windows 自動更新程序,或改為手動安裝,或選擇性的更新程序。
2、打補丁可以使你的系統(tǒng)更加穩(wěn)定、安全,但也可以讓你的系統(tǒng)出現(xiàn)一些莫名其妙的事兒,讓你丈二和尚摸不著頭腦,所以一定要打補丁時要清楚打了哪些補丁,以便出現(xiàn)故障后可以還原。
3、盡量關(guān)閉所有軟件的自動更新功能,因為這或許將成為某軟件的后門。