【问题标题】:MVC 3 not routing some URL'sMVC 3 不路由某些 URL
【发布时间】:2012-04-12 14:50:55
【问题描述】:

我正在开发一个定义了一些自定义路由的 MVC 3。所有路由都在本地运行良好(使用 IIS Express 和 Cassini),但是当我将站点推送到我的生产服务器时,其中一个路由炸弹会出现 404。

本地设置: Windows 7的 VS 2010 SP1 IIS Express

生产设置: Windows Server 2008 数据中心 IIS 7.5

正在轰炸的路线:

routes.MapRoute(
      "ShortLinks",
      "E-{id}",
      new { Controller = "Public", Action = "ResolveShortLink" },
      new[] { "namespace.WebUI.Controllers" }
    );

  routes.MapRoute(
      "SmsShortLinks",
      "T-{id}",
      new { Controller = "Public", Action = "ResolveShortLink" },
      new[] { "namespace.WebUI.Controllers" }
    );

示例请求如下所示。

http://domain/E-7d9cbaa2-25b0-47be-8b2c-31844a3de482 http://domain/T-7d9cbaa2-25b0-47be-8b2c-31844a3de482

再次,当我在本地运行此路由时,路由工作正常,但当我将其推送到生产服务器时,它不起作用。

【问题讨论】:

    标签: asp.net asp.net-mvc-3 iis-7.5 asp.net-routing


    【解决方案1】:

    你有没有看过它实际上要去哪条路线?我建议阅读这个 http://haacked.com/archive/2008/03/13/url-routing-debugger.aspx 或者 使用 Glimpse 查看实际正在解决的路线,它可能有助于阐明问题... http://getglimpse.com/

    【讨论】:

    • 很棒的工具,不幸的是它们并没有进一步阐明我的问题。路由调试器只是告诉我它正在通过我定义的路由并达到默认路由。
    • 好吧,最奇怪的事情发生了,这些路由在我禁用路由调试器后自动神奇地开始工作。不幸的是,不确定是什么解决了这个问题,由于截止日期,必须记下它并稍后返回进行验尸。
    猜你喜欢
    • 1970-01-01
    • 2011-08-30
    • 1970-01-01
    • 1970-01-01
    • 2012-07-06
    • 2011-07-03
    • 1970-01-01
    • 2012-06-17
    • 1970-01-01
    相关资源
    最近更新 更多