2016年4月28日 星期四

HTTP錯誤500.21-Internal Server Error


執行ASP.NET應用程式出現「HTTP錯誤500.21-Internal Server Error,處理常式 "PageHandlerFactory-Integrated" 的模組清單中有錯誤的模組 "ManagedPipelineHandler



會發生此狀況的原因為:
一、先安裝.NET FrameWork 4.0以上的獨立安裝程式,才啟用IIS角色,可能就會遇到。
Q:我沒裝什麼.net framework的獨立安裝程式啊..?
A:可能是在安裝其他應用程式時,順便幫你安裝了。
二、.NET Framework 4.0 與ASP.NET 有關的設定損壞走鐘了。

解決方案:
底下這篇是MSDN的說明,適用在VS2012安裝較VS2010或SQL SERVER2008早的情況
Troubleshooting: HTTP Error 500 (or 500.21) - Internal Server Error Handler


底下這篇可能適用於某些環境
執行ASP.NET應用程式時,發生【HTTP錯誤500.21-Internal Server Error,處理常式 "PageHandlerFactory-Integrated" 的模組清單中有錯誤的模組 "ManagedPipelineHandler"】錯誤的故障排除


雖然MSDN的說明,是Visual Studio2012比較早安裝;但是長期使用微軟開發工具早已養成要按照發行版本的先後順序進行安裝的習慣,我的安裝順序是VS2010 -> VS2013 -> VS2015,會遇到這個錯誤的原因是開始coding後才想到要啟用IIS角色....
實際的解決方式是:

1. 進入命令列模式(執行cmd)
2. 切換至  %systemroot%\Microsoft.NET\Framework64\v4.0.30319\SetupCache\v4.6.01055 資料夾並執行setup.exe啟動.NET Framework修復:
cd\Windows\Microsoft.NET\Framework64\v4.0.30319\SetupCache\V4.6.0155
setup.exe /repair /x86 /x64 /ia64 /norestart
3. 啟動.NET Framework4.6.1安裝程式後選擇「將.NET Framework4.6.1修復成原始狀態」
4. 修復後依指示重新開機。
5. IIS重新啟動。

沒有留言:

張貼留言