2011-05-15 39 views
27

可能重複:
ASP.NET MVC on IIS 7.5403 - 禁止在基本的MVC 3部署在IIS7.5

我想一個基本的MVC 3應用程序部署到我的2008 R2服務器運行IIS 7.5但嘗試查看我的頁面時收到「403 - 禁止」錯誤。

我啓用了匿名身份驗證,並且我的應用程序池在.NET 4.0集成管道模式下使用「ApplicationPoolIdentity」。我不知道「ApplicationPoolIdentity」是什麼「用戶」,但我已經給予網站文件夾IUSR讀/寫權限。

我沒有任何其他身份驗證方案,服務器甚至沒有在域中運行。

如果我把一個默認的html頁面放在那裏,它會正常加載。這只是我的方法/控制器,我不能運作。

如何解決此問題?

感謝,

+1

看到這個也是:http://stackoverflow.com/questions/2374957/asp-net-mvc-on-iis-7-5 – 2011-10-14 04:58:54

回答

56

運行aspnet_regiis -i。通常我發現你需要這樣做才能讓4.0個應用程序正常工作。打開命令提示符:

cd \ 
cd Windows\Microsoft .NET\Framework\v4.xxx.xxx 
aspnet_regiis -i 

安裝並註冊後,請確保您的應用程序正在使用設置爲.NET 4.0的應用程序池。

+3

邁克爾, 完美,這是嚴重的勝利! – 2011-05-15 23:20:02

+3

我剛發現這個命令有一個潛在的問題。使用-i將所有Web應用程序(池)更新到ASP.NET 4.0。 使用'aspnet_regiis -ir'安裝ASP.NET的版本,但不會將任何Web應用程序更改爲此版本。您可能還想查看-iru選項。 – Brettski 2011-07-14 16:49:14

+0

這是一個朦朧而荒謬的救星! +1 – jondavidjohn 2011-11-07 22:50:12

2

兩件事情嘗試:

  1. 授予權限在您的網站被存儲到「網絡服務」的目錄。這是用於ApplicationPoolIdentity的帳戶in Server 2008.
  2. 如果失敗,請將ApplicationPoolIdentity更改爲您爲其網站目錄給予明確權限的帳戶。
7

感謝Micheal的幫助。

我的操作系統是64位,所以我在Framework64中運行了aspnet_regiis.exe解決了這個問題。

c:\Windows\Microsoft.NET\Framework64\v4.0.30319> 

這是在沒有解決問題的文件夾... \ Framework \ v4.0.30319中運行aspnet_regiis之後。