Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 这条MVC路线有什么问题?_Asp.net Mvc_Routing_Routes_Custom Routes_Maproute - Fatal编程技术网

Asp.net mvc 这条MVC路线有什么问题?

Asp.net mvc 这条MVC路线有什么问题?,asp.net-mvc,routing,routes,custom-routes,maproute,Asp.net Mvc,Routing,Routes,Custom Routes,Maproute,我想创建一个自定义图像URL处理程序,它可以使用以下URL模式处理GET请求: 为了处理这个问题,我创建了以下路线: routes.MapRoute( name: "appImages", url: "images/{*imageName}", defaults: new { controller = "Image", action = "Grab" }); 这似乎不适用于名称中没有空格的图像。我做错了什

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

为了处理这个问题,我创建了以下路线:

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

这似乎不适用于名称中没有空格的图像。我做错了什么?

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


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

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