【问题标题】:Asp.net mvc 4 on iis6: "The page cannot be found"iis6 上的 Asp.net mvc 4:“找不到页面”
【发布时间】: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?

标签: iis-6 asp.net-mvc-4


【解决方案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】:

我使用以下步骤解决了这个问题:

  1. 打开 IIS 控制台
  2. 选择“Web 服务扩展”
  3. 选择“ASP.NET v4.0.30319”
  4. 点击允许

【讨论】:

    【解决方案3】:

    大多数情况下,通常的配置对我有用(通配符映射,取消选中验证...),但它最近在一台 Windows 2003 服务器上停止工作。我发现之前的“发布...”是使用“预编译”选项完成的,这导致了 /bin 中的 App_global.asax.dll 和 .compiled 文件。后来在一些增量手动部署过程中错误地删除了它们,并且不再注册 Web Api 路由。

    我将旧的 bin/App_global.* 文件复制到服务器,它又可以工作了。

    我还发现要达到相同的效果,您可以删除 /PrecompiledApp.config 文件并确保 /global.asax 存在

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-21
      • 2016-07-07
      • 1970-01-01
      • 2010-09-07
      • 1970-01-01
      • 1970-01-01
      • 2010-11-06
      • 1970-01-01
      相关资源
      最近更新 更多