Windows-Server-2003
如何在 IIS 6 (Windows 2003 R2) 上配置 ASP.NET MVC 3
可能重複:
我收到 403 Directory Listing Denied 的 root 和 404 我知道應該存在的操作。
背景:很久以前,我已經建構並部署了一個 ASP.NET MVC 2 應用程序。後來我將它升級到 MVC 3,它仍然可以在沒有配置更改的情況下工作。在 Windows 2003 R2 (Standard) 上設置它最初很痛苦,但經過幾天(是的,幾天)掙扎後它開始工作。
現在我必須在不同網路上的不同伺服器(再次是 2003 R2 標準)上對相同的應用程序執行相同的操作。
- .Net 4 已安裝並允許
- 還安裝了 ASP.NET MVC 3
- 預設情況下,IIS 設置為使用 .net 4
- 我驗證應用程序擴展中使用的 aspnet_isapi.dll 來自版本 4.0.30319 .NET asemblies 文件夾。
- 我還將萬用字元映射添加到 aspnet_isapi.dll 並且未經檢查的驗證文件存在。
- 在身份驗證方法中的目錄安全性下,我禁用了匿名訪問並啟用了集成 Windows 身份驗證(與它工作的伺服器上的身份驗證相同)
- 我已經複製了相同的 web.config 與
<authentication mode="Windows" />
<authorization> <deny users="?" /> </authorization>
- 我已經為 Networkservice 帳戶(應用程序池在其下工作)設置了讀取和執行、列出文件夾內容和讀取。我還為網路帳戶、IIS_WPG、ASPNET 和 IUSR_MAchineName 設置了相同的設置。
- 我沒有 EnableExtensionlessUrls 但即使我創建它並將其設置為 true 或 false 也無濟於事。
- 我也試過 http://haacked.com/archive/2010/12/22/asp-net-mvc-3-extensionless-urls-on-iis-6.aspx 並沒有幫助。
但是我一直收到 403 Directory Listing Denied 的 root 和 404 我知道應該存在的操作。
然後使用 Web 平台安裝程序重新安裝並可能更新 .net、asp.net 等。然後我注意到 IIS 已重置為預設值。所以我再次添加了萬用字元映射。不,運氣還是 403。
我從工作伺服器設置中導出了配置文件,並使用這些配置創建了新的預設應用程序池和新的預設網站。
我仍然得到 403 Directory Listing Denied for the / 和 404 對於我嘗試的任何操作。
獲得 404 和 403 的另一個原因是缺少 Global.asax,這要歸功於將ASP.NET MVC 部署到 Windows Server 2003,我也能夠修復它。