由於32位和64位操作系統存在着比較大的區別, 對於在32位操作系統開發出來的網站程序或者其他軟件在64位操作系統上就有可能出現問題, 例如, 最近在配置一個網站程序到server 2008 R2系統上時就出現了這種問題, 具體的提示是:
HTTP 錯誤 500.23 - Internal Server Error
檢測到在集成的托管管道模式下不適用的 ASP.NET 設置
見附圖:
出現這個問題, 就是由於在64位操作系統下運行了32系統下開發的網站導致的錯誤. 一句話,就是網站程序的兼容問題, 解決問題的方案其實也很簡單, 如同它在錯誤的頁面提示的:
既然是在32位系統下開發的程序, 理應讓系統兼容32位的環境. 所以要啟用32位托管程序, 解決如下:找到網站對應的應用程序池, 然后在右側的選項中選擇"高級設置" 選項, 下圖:
點擊"確定"后返回, 然后重啟一下這個應用程序池即可解決 檢測到在集成的托管管道模式下不適用的 ASP.NET 設置 的問題.
下面附帶介紹一下服務器報錯的信息代碼:
5xx - 服務器錯誤
這些 HTTP 狀態代碼表明由於服務器遇到錯誤,因此無法完成請求。
IIS 7.0 使用以下服務器錯誤 HTTP 狀態代碼:
- 500 - 內部服務器錯誤。
IIS 7.0 定義以下 HTTP 狀態代碼,表明 500 錯誤的具體原因:- 500.0 - 發生模塊或 ISAPI 錯誤。
- 500.11 - 正在 Web 服務器上關閉應用程序。
- 500.12 - 應用程序正忙於在 Web 服務器上重新啟動。
- 500.13 - Web 服務器太忙。
- 500.15 - 不允許直接請求 Global.asax。
- 500.19 - 配置數據無效。
- 500.21 - 模塊無法識別。
- 500.22 - 無法在托管管道模式下應用 ASP.NET httpModules 配置。
- 500.23 - 無法在托管管道模式下應用 ASP.NET httpHandlers 配置。
- 500.24 - 無法在托管管道模式下應用 ASP.NET impersonation 配置。
- 500.50 - RQ_BEGIN_REQUEST 通知處理期間,發生重寫錯誤。發生配置或入站規則執行錯誤。
注意此處是為入站和出站規則讀取分布規則配置的地方。
- 500.51 - GL_PRE_BEGIN_REQUEST 通知處理期間,發生重寫錯誤。發生全局配置或全局規則執行錯誤。
注意此處是讀取全局規則配置的地方。
- 500.52 - RQ_SEND_RESPONSE 通知處理期間,發生重寫錯誤。發生出站規則執行。
- 500.53 - RQ_RELEASE_REQUEST_STATE 通知處理期間,發生重寫錯誤。發生出站規則執行錯誤。此規則配置為在更新輸出用戶緩存之前執行。
- 500.100 - 內部 ASP 錯誤。
- 501 - 頁眉值指定了未實現的配置。
- 502 - Web 服務器用作網關或代理服務器時收到了無效響應。
IIS 7.0 定義以下 HTTP 狀態代碼,表明 502 錯誤的具體原因:- 502.1 - CGI 應用程序超時。
- 502.2 - 網關錯誤:過早退出。
- 502.3 - 網關錯誤:轉發器連接錯誤 (ARR)。
- 502.4 - 網關錯誤:無服務器 (ARR)。
- 503 - 服務不可用。
IIS 7.0 定義以下 HTTP 狀態代碼,表明 503 錯誤的具體原因:- 503.0 - 應用程序池不可用。
- 503.2 - 超出並發請求限制。
- 503.3 - ASP.NET 隊列已滿
下面這個博文可以參考一下(我自己的.net網站是用上面我自己寫的方法解決的): http://www.caodi.name/article-248-1.html
source: http://www.cnblogs.com/wwufengg/archive/2013/05/15/server-2008-r2-internal-server-error-500.html