IIS内部错误:500之解决方案
將自己很早以前做的一個asp.net網站從自己的筆記本上遷移到公司電腦上,在作好相關配置后,打開網站首頁,出現HTTP500錯誤,上網查了發現這是服務器內部錯誤。
接著我查看了下系統事件日志信息,發現了錯誤:
?服務器無法加載應用程序 '/LM/W3SVC'。錯誤是 '找不到指定的元數據'。
根據這個錯誤信息,在http://www.cnblogs.com/jacklaw/archive/2008/07/02/1234172.html找到了解決方案:
在VS2005下新建的web services ,如果保存在本地磁盤上,可以測試(用的是其他端口,不是80),但沒法運行,如果是保存在本地IIS上,測試、運行都沒法進行。在事件查看器中發現警告“服務器無法加載應用程序 '/LM/W3SVC'。錯誤是 '找不到指定的元數據'?!?#xff0c;在網上找到藍色隨想的“完美解決IIS 服務器無法加載應用程序 '/LM/W3SVC/1/ROOT'。錯誤是 '沒有注冊類別”(http://www.cnblogs.com/BlueThinking/archive/2007/01/08/425266.html),順利解決。
現象:
??????? 瀏覽ASP頁面提示?? 500內部錯誤
事件查看器中:
????????[1]:
??????????????? 服務器無法加載應用程序 '/LM/W3SVC/1/ROOT'。錯誤是 '沒有注冊類別'。?
??????????????? 有關此消息的詳細信息,請訪問 Microsoft 聯機支持站點:?http://www.microsoft.com/contentredirect.asp。
??????????????? 有關更多信息,請參閱在?http://go.microsoft.com/fwlink/events.asp?的幫助和支持中心。
??????? [2]:
??????????????? 無法啟動 MS DTC 事務管理器。
??????????????? 有關更多信息,請參閱在?http://go.microsoft.com/fwlink/events.asp?的幫助和支持中心。
??????? [3]:
??????????????? MS DTC 事務管理器啟動失敗。LogInit 返回錯誤 0x2。
??????????????? 有關更多信息,請參閱在?http://go.microsoft.com/fwlink/events.asp?的幫助和支持中心。
??????? [4]:
???????????????找不到 MS DTC 日志文件。在確認所有由 MS DTC 協調的資源管理器不具有“不確定”狀態的事務
???????????????之后,請運行 msdtc -resetlog 創建日志文件。
???????????????有關更多信息,請參閱在?http://go.microsoft.com/fwlink/events.asp?的幫助和支持中心。
我的運行環境:
??????????????? WinXP Pro SP2;?
解決辦法:
??????????????? [1]:
??????????????? 檢查你的DTC服務(全名:Distributed Transaction Coordinator)是否可以正常啟動,如果正常的話
??????????????? 請你跳過此步驟;如果出錯,無法正常啟動,請在開始菜單的運行中 運行:msdtc -resetlog??
??????????????? 以創建?日志文件。
???????????????
??????????????? 如果運行這個命令沒出錯 請跳過下面這行字。
????????????????如果運行這個命令出錯請轉到本文的下半部分的這個地方開始看。(==== 以下部分是網上重新找的資料 (如果執行上面步驟仍然不行,請繼續)?==)
????????????????重起機器,檢查IIS是否可以正常使用,若不行繼續。(可以不重啟)
????????????????[2]:
????????????????在CMD下執行以下命令:
????????????????cd %windir%\system32\inetsrv?
??????????????? rundll32 wamreg.dll, CreateIISPackage?
??????????????? regsvr32 asptxn.dll
????????????????重起機器,我的問題到這步已經可以完美解決!
在做完了上面的步驟后,我還出現了另一個問題:訪問IIS元數據庫失敗
于是上網搜了下,找到答案:http://blog.csdn.net/lgg228tao/article/details/4156709
裝了VS2005再裝IIS,結果出了些小問題 訪問IIS元數據庫失敗 思考可能是次序出了問題,解決 1、打開CMD,進入?C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727
2、輸入?aspnet_regiis.exe?-i
稍等片刻,注冊成功就解決問題了。??
接著還會出現“未能創建?Mutex”的問題?
解決方法:
1、先關閉你的VS2005。
2、打開?C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary?ASP.NET?Files??找到你剛才調試的程序的名字的目錄刪除它。
3、關閉IIS服務器,重開一次。
4、用IE瀏覽一下你的程序,問題解決。
“/test”應用程序中的服務器錯誤。
——————————————————————————–
訪問 IIS 元數據庫失敗。
說明: 執行當前 Web 請求期間,出現未處理的異常。請檢查堆棧跟蹤信息,以了解有關該錯誤以及代碼中導致錯誤的出處的詳細信息。
異常詳細信息: System.Web.Hosting.HostingEnvironmentException: 訪問 IIS 元數據庫失敗。
用于運行 ASP.NET 的進程帳戶必須具有對 IIS 元數據庫(如 IIS://servername/W3SVC)的讀訪問權。有關如何修改元數據庫權限的信息,請參見?http://support.microsoft.com/?kbid=267904。
源錯誤:
執行當前 Web 請求期間生成了未處理的異常??梢允褂孟旅娴漠惓6褩8櫺畔⒋_定有關異常原因和發生位置的信息。
經過第一種方法調試 結果ok?
另一方法:
錯誤提示:
訪問 IIS 元數據庫失敗。
說明: 執行當前 Web 請求期間,出現未處理的異常。請檢查堆棧跟蹤信息,以了解有關該錯誤以及代碼中導致錯誤的出處的詳細信息。?
異常詳細信息: System.Web.Hosting.HostingEnvironmentException: 訪問 IIS 元數據庫失敗。?
用于運行 ASP.NET 的進程帳戶必須具有對 IIS 元數據庫(如 IIS://servername/W3SVC)的讀訪問權。有關如何修改元數據庫權限的信息,請參見?http://support.microsoft.com/?kbid=267904。
源錯誤:?
| 執行當前 Web 請求期間生成了未處理的異常??梢允褂孟旅娴漠惓6褩8櫺畔⒋_定有關異常原因和發生位置的信息。 |
到此,網站完全正常了!
錯誤分析:
因為本人安裝vs2005的時候是先安裝vs2005然后再安裝iis的,所以在這種情況下用于運行 ASP.NET 的進程帳戶必須具有對 IIS 元數據庫的讀訪問權。然而我安裝順序不對所以就沒法訪問。
解決辦法:
1 開始->程序->Microsoft?.NET?Framework?SDK?v2.0->SDK?命令提示
2 輸入 aspnet_regiis.exe -i
3 關閉VS2005,打開C:/WINDOWS/Microsoft.NET/work/v2.0.50727/Temporary ASP.NET Files??? 刪除剛才調試的目錄
4 重起IIS,問題解決。
赫赫,問題其實很簡單,只是安裝的順序不對罷了。這是因為在XP下先安裝了Visual Studio2005,再安裝IIS,下次要注意了。
總結
以上是生活随笔為你收集整理的IIS内部错误:500之解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 九妹带你走向 架构师
- 下一篇: 1115: 零起点学算法22——华氏摄氏