問題描述:
環境與配置:
ASP.NET MVC 4
WINDOWS SERVER 2008 64 位
應用程序池是選擇的 .NET 4.0 與經典模式
在新建一個MVC 4 項目發現到服務器上后出現:
HTTP 錯誤 404.2 - Not Found
由於 Web 服務器上的“ISAPI 和 CGI 限制”列表設置,無法提供您請求的頁面。
解決方法
其實出錯時已經給了解決思路:
1.打開 IIS 管理器並定位到服務器級別。
2.在“功能”視圖中,雙擊“ISAPI 和 CGI 限制”以確認 Web 服務擴展被設置為“允許”。
3.如果該擴展不在列表中,請在“操作”窗格中單擊“添加”。
4.在“添加 ISAPI 和 CGI 限制”對話框中,在“ISAPI”或“CGI 路徑”框中鍵入 .dll 或 .exe 文件的路徑,或者單擊“瀏覽”導航到相應文件的位置。
5.在“描述”框中,鍵入該限制的簡要說明。
6.(可選)選中“允許執行擴展路徑”以使限制可以自動運行。如果不選中此選項,則限制狀態將為“不允許”,這是默認狀態。您可以在以后選中此選項並單擊“操作”窗格中的“允許”來允許該限制。
7.單擊“確定”。
文字描述不直觀,還是用圖來說明吧:
同時還要將限制設置為允許。
效果
后續
在把應用池換成“集成模式”,就出現了。
HTTP 錯誤 500.21 - Internal Server Error處理程序“PageHandlerFactory-Integrated”在其模塊列表中有一個錯誤模塊“ManagedPipelineHandler”
原因:在安裝Framework v4.0之后,再啟用IIS,導致Framework沒有完全安裝
解決:開始->所有程序->附件->鼠標右鍵點擊“命令提示符”->以管理員身份運行->%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
如果還不行,可檢查IIS的應用程序池,是否使用集成模式,如果不是則改成集成模式
重新注冊一下就OK了。