这个 MVC 路由有什么问题?

What is wrong with this MVC route?

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

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

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

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

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

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

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