【问题标题】:ASP.NET routes not working in IIS6ASP.NET 路由在 IIS6 中不起作用
【发布时间】:2011-10-15 03:49:26
【问题描述】:

我在 VS 2010 中使用 Framework 3.5 在 asp.net c# 中构建了一个小型 Web 应用程序。 我需要将它部署在带有 IIS6 的 Windows 2003 服务器上。

当我通过 Visual Studio 运行时,它使用的路由 ( System.Web.Routing ) 运行良好。但是现在部署到 IIS6 服务器后,它给出了 404 错误。如果我输入页面的确切路径,它工作正常。

喜欢http://localhost.local/forms/user/login.aspx 作品 但是我的自定义路由 http://localhost.local/user/login 给出了 404 错误

我用眼镜发现了这个Installing Wildcard Application Mappings & Running ASP.NET MVC Under IIS 6.0 and IIS 7.0 Classic Mode : Solution to Routing Problem

有什么办法解决这个问题吗?

【问题讨论】:

  • 遇到问题了,我没有正确重启 IIS6。我只是重新启动网站。上面的链接显示了如何解决这个问题的正确信息。

标签: c# asp.net iis-6 routes


【解决方案1】:

在 IIS 中,.net 作为 IIS 扩展运行。这意味着 IIS 必须能够识别请求,才能知道它需要将请求发送到 .Net。这通常是文件扩展名的形式,即.aspx

所以路径 http://localhost/forms/user/login.aspx 因 .aspx 扩展名而有效

路径http://localhost/user/login 本身不会传递给.NET 执行,除非路径存在并且文件夹中有default.aspx。

IIS7 通过将 .net 提升为一个不可或缺的部分 - 集成管道来解决这个问题。

您可以使用通配符映射或使用映射到 .net 的扩展来使其工作 - 这是 IIS 6 上的 MVC 推荐的方式

【讨论】:

    【解决方案2】:

    我已经找到了这个 http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/5c5ae5e0-f4f9-44b0-a743-f4c3a5ff68ec.mspx?mfr=truehttp://www.tugberkugurlu.com/archive/running-asp-net-mvc-under-iis-6-0-and-iis-7-0-classic-mode---solution-to-routing-problem 但它仍然无法正常工作。

    遇到问题了,我没有正确重启 IIS6。我只是重新启动网站。上面的链接显示了如何解决这个问题的正确信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-30
      • 2011-03-10
      • 2017-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多