显然,我缺少一些东西,无法在IIS 7上的Windows Small Business Server 2008上部署简单的ASP.NET MVC 4,.NET 4.5应用程序。
已安装.NET Framework 4.5。
是否应该在应用程序的“应用程序池”基本设置上看到该版本(4.5)?目前,我只有2.0和4.0,因为4.5就像3.5一样,仅添加在4.0框架之上,我想这很正常。
当浏览主页时,出现以下错误:
403-禁止访问:拒绝访问。您无权使用您提供的凭据查看此目录或页面。
当我请求名为Page / page / index的唯一控制器时,我得到了404 not found页面。像ASP.NET进程一样,永远不会获得http请求。
我可以请求一个简单的HTML页面。
应用程序池设置为.NET 4.0,并集成为托管管道模式。
NETWORK SERVICE对目录具有读/写访问权限。
从VS2012开始,该应用程序完美运行。
我对此处的错误一无所知,搜索引擎查询并没有太大帮助。
有没有人会暗示,将不胜感激。谢谢
编辑
dll已在bin文件夹中,例如System.Web.Mvc,System.Web.Razor等。
我创建了一个空的test.aspx页面,以确保asp.net worker进程正在获取请求,是的,该页面还可以。因此,尽管我在该服务器上运行了ASP.NET MVC 3 Web应用程序,但看来MVC路由无法正常工作。
安装.NET 4.5之后,我做了一个aspnet_regiis -iru,以防万一,在应用程序上添加了一个aspnet_client文件夹,但这仍然不能解决问题。
在“ IIS身份验证”部分启用了“匿名身份验证”,并且“授权”显示允许所有用户使用。
已安装ASP.NET MVC 4,我只是做了修复以确保。
即使安装了ASP.NET MVC 4,标准IIS仍会返回来自请求/ page / index操作的404错误,而不是标准的ASPNET错误。因此,确实确实好像MVC 4框架没有正确安装,我只是仔细检查并进行了修复。我可以在哪里继续调查?
@Mystere Man,我已经更改了匿名身份验证以使用应用程序池标识,停止,启动应用程序,并且仍然是相同的错误。看起来好像ASP.NET MVC 4没有接受请求。
这是web.config的一部分:
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
<add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
当年话下
慕少森