【问题标题】:What is wrong with this MVC route?这个 MVC 路由有什么问题?
【发布时间】:2015-10-25 23:22:28
【问题描述】:

我想创建一个自定义图像 URL 处理程序,它可以处理具有以下 URL 模式的 GET 请求:

http://blah.com/images/image1.gif

为了解决这个问题,我创建了以下路线:

        routes.MapRoute(
            name: "appImages",
            url: "images/{*imageName}",
            defaults: new { controller = "Image", action = "Grab" });

即使对于名称中没有空格的图像,这似乎也不起作用。我做错了什么?

【问题讨论】:

  • 确保您没有名为 images 的文件夹,因为 IIS(我相信)会首先查找逻辑(它存在)文件夹/文件,如果没有,则将其提供给 .NET 管道进行进一步处理被发现。如果您有图像文件夹,则请求永远不会到达路由引擎。
  • 就是这样。我有一个与 uri 匹配的物理图像文件夹。谢谢汤米。
  • 太棒了 - 很高兴你成功了!如果其他人偶然发现这个问题,我会将其发布为答案。

标签: asp.net-mvc routing routes custom-routes maproute


【解决方案1】:

默认情况下,IIS 在处理来自用户的请求时会查找现有文件和文件夹。如果您有一个现有的文件夹或文件,那么 IIS 将简单地尝试从磁盘检索文件,而不是将请求传递给 .NET 管道/路由引擎。

检查您的解决方案中是否已经有一个名为images 的文件夹。如果您确实有此文件夹,我建议(最简单的方法)更改您的控制器名称或现有文件夹名称以解决您的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-08
    • 2018-07-13
    • 2011-12-07
    相关资源
    最近更新 更多