显然,我遗漏了一些东西,我无法在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未找到的页面.像ASP.NET进程一样,永远不会得到http请求.
我可以请求一个简单的HTML页面.
应用程序池设置为.NET 4.0并集成为托管管道模式.
NETWORK SERVICE具有对目录的读/写访问权限.
该应用程序当然可以从VS2012完美运行.
我对这里不合适的东西一无所知,搜索引擎查询没有多大帮助.
有人会有一个提示,非常感激.谢谢
编辑
dll已经在bin文件夹中,如System.Web.Mvc,System.Web.Razor等.
我创建了一个空的test.aspx页面,以确保asp.net工作进程收到请求,是的,页面没问题.所以看起来MVC路由不起作用,虽然我有ASP.NET MVC 3 Web应用程序在该服务器上正常工作.
在.NET 4.5安装之后,我做了一个aspnet_regiis -iru,在应用程序中添加了一个aspnet_client文件夹,但这仍然无法解决问题.
"匿名身份验证"在"IIS身份验证"部分启用,"授权"显示允许所有用户.
安装ASP.NET MVC 4,我只是做了修复以确保.
虽然安装了ASP.NET MVC 4,但是请求/ page/index操作的404错误是由标准IIS而不是标准的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" …Run Code Online (Sandbox Code Playgroud)