iis6 上的 Asp.net mvc 4:“找不到页面”
Posted
技术标签:
【中文标题】iis6 上的 Asp.net mvc 4:“找不到页面”【英文标题】:Asp.net mvc 4 on iis6: "The page cannot be found" 【发布时间】:2012-04-08 12:36:36 【问题描述】:我无法让 ASP.Net MVC 4 在 IIS 6 上运行。
首先,我收到“目录列表被拒绝” 在我根据 Phil Haack 的博文:ASP.NET MVC on IIS 6 Walkthrough 设置无扩展网址后,这已经解决了。
现在,我收到“找不到该页面”的 404 页面。
这是 MVC 4 beta 中的一个简单的 ASP.Net Web Api 项目。
【问题讨论】:
听起来像是路由问题。您要请求什么网址? 我不这么认为。它适用于我的笔记本电脑(Windows 7 - IIS7)。但是当我上传到 Windows Server (IIS6) 时,在任何 url 上都不起作用。 您是否正在“bin 部署” System.Web.Mvc.dll? 【参考方案1】:在应用程序配置下,我将通配符扩展映射插入到:
c:\windows\microsoft.net\framework\v4.0.30319\aspnet_isapi.dll
但我忘了取消选中 Verify that file exists
复选框。
【讨论】:
我真的很讨厌那个复选框 哇...像一个小复选框这样微不足道的事情会导致整个 MVC 站点在火焰中燃烧。去图吧。 @AnwarChandra,到目前为止,我已遵循此博客“blog.stevensanderson.com/2008/07/04/…”中的选项 1、2 和 3,但没有任何效果! @DOM 您应该在 SO 上发布您自己的问题并提供更多详细信息。 这个问答如果包含来自 cmets 中链接的信息以及原始问题中的链接,会好很多,因为这些链接现在都无效。该死,那里可能有一些很好的答案......我想我会继续寻找。【参考方案2】:我使用以下步骤解决了这个问题:
-
打开 IIS 控制台
选择“Web 服务扩展”
选择“ASP.NET v4.0.30319”
点击允许
【讨论】:
【参考方案3】:大多数情况下,通常的配置对我有用(通配符映射,取消选中验证...),但它最近在一台 Windows 2003 服务器上停止工作。我发现之前的“发布...”是使用“预编译”选项完成的,这导致了 /bin 中的 App_global.asax.dll 和 .compiled 文件。后来在一些增量手动部署过程中错误地删除了它们,并且不再注册 Web Api 路由。
我将旧的 bin/App_global.* 文件复制到服务器,它又可以工作了。
我还发现要达到相同的效果,您可以删除 /PrecompiledApp.config 文件并确保 /global.asax 存在
【讨论】:
以上是关于iis6 上的 Asp.net mvc 4:“找不到页面”的主要内容,如果未能解决你的问题,请参考以下文章
IIS 6 上的 ASP.NET MVC - 通配符映射 - 传入请求与任何路由都不匹配
asp.net mvc项目中,为何在iis6上显示404错误,是何原因造成