程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> 關於aspnet_isapi.dll的問題

關於aspnet_isapi.dll的問題

編輯:關於ASP.NET

aspnet_isapi.dll' 報告它自身有問題,原因如下: '檢測到死鎖'。

今天系統突然折了,但是問題在哪呢?很費周折。

錯誤信息:

ISAPI 'c:\windows\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll' 報告它自身有問題,原因如下: '檢測到死鎖'。

有關更多信息,請參閱在 http://go.microsoft.com/fwlink/events.asp 的幫助和支持中心。

症狀:系統總是不穩定,一會能用,一會兒又死掉了。

分析過程:

這個版本已經跑了很長時間,估計不是程序死鎖的問題。倒底是什麼問題呢。應該是外部環境的問題。由於錯誤信息比較的抽象,之前沒有遇到過,所以google了下,但是好像遇到此問題的人很少,不過在博客園還是遇到一位受到同樣遭遇的人,但是並沒有一種很好的解決方案,也沒有確切的指出問題的症結。所以只有自己進行一些檢查。

<1>查看最近的系統更新,看是否有關於IIS之類的更新

<2>查看系統的殺毒軟件的日志文件,看是否收到了攻擊

但是,檢查上述兩個步驟,並沒有發現問題。看系統是有一些更新,迫於無奈,只好重啟系統試一下(也順便重啟IIS)。重啟之後,問題依舊。

觀察進程管理器,發現:

W3WP的線程數,一直在變化,一會增加一個高峰值,重新增加一個W3WP進程,之前的進程過一會就自動關閉,一會又恢復正常。

這說明網站,在不斷的死亡、重啟。到底是哪裡的問題呢?應該還是系統自己的問題了。但是它自身的版本並沒有問題,為了確定這一點,我也試了之前穩定的版本,同樣出現此類問題。最後,是否是系統中調用的第三方服務,將整個系統給拖死了呢?

罪魁禍首:經過檢查,果然是由於程序中實時調用了一個服務,由於此服務已經停止,請求無果,出現了死鎖。

教訓:

<1>最大大限度保證系統與第三方服務的穩定、安全,並在請求過程中做超時判斷、消息分級處理。

<2>遇到問題,首先應全面分析系統的問題可能性,因為系統本身的運行環境一般都是固定不變的,出現問題的可能性很小。

有的時候在寫程序的時候,如果出了問題,首先應該懷疑自己的思路、代碼哪裡出了問題,而不應該去怪罪IDE或者OS出了什麼BUG。這樣你就少走很多彎路。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved