【问题标题】:Are ASP.NET MVC routes cached?是否缓存了 ASP.NET MVC 路由?
【发布时间】:2009-09-30 15:50:41
【问题描述】:

我向我的 asp.net mvc 应用程序添加了一个路由来处理我需要做的一些 json 请求。这在我的开发电脑上效果很好,但是当我在 QA 中安装时,该路线根本不起作用。我尝试实际输入地址并获得“错误请求”。有人可以帮忙吗?我已重新启动 IIS 以尝试清除任何缓存,但仍然没有运气。我第一次看到这一点,因为我之前对路线进行了几次更改。

routes.MapRoute(
            "FsrProblemTypesByEquipment",
            "Fsr/ProblemTypesByEquipment/{equipmentID}",
            new {controller = "Fsr", action = "ProblemTypesByEquipment", equipmentID = ""});

【问题讨论】:

  • 愚蠢的问题,但是您的 QA 服务器上是否安装了 ASP.NET MVC v1 和 .NET 3.5 SP1?
  • 是的,这个网站从一月份就开始运行了

标签: c# asp.net-mvc


【解决方案1】:

如果您取出新的路由条目,但使用相同的测试 URL,您是否仍然收到“错误请求”?如果你的路由表确实有问题,那么你的包罗万象的路由应该会收到请求。

我的猜测是请求永远不会到达您的路由表; IIS 在请求传递到您的应用程序之前捕获它。如果是这样,那就是 IIS 中的配置问题,或者 IIS 出于某种原因对 URL 的构造不满意。

有关更多信息,请参阅此论坛帖子:

http://forums.asp.net/p/1458130/3343674.aspx

【讨论】:

  • 是的,仍然收到错误的请求。这很奇怪,因为我有几个像这样的其他路由和其他几个以相同方式工作的 json 请求
  • 好吧,看来问题是设备 ID 中有一个 *(星号)。一旦我将其更改为 - 它开始正常工作
猜你喜欢
  • 1970-01-01
  • 2010-12-09
  • 1970-01-01
  • 2015-04-06
  • 2011-06-26
  • 2014-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多