ASP.net MVC映像路由

弗莱陶

我有一个MVC4 application,并且我正在尝试生成路由或ihttphandler处理图像请求,但是handler or route从未触发过。

我在上有以下路线route config

routes.MapRoute("Images", "images/{filename}", new { controller = "Image", action = "ImageRequest" });

当我使用它来例如调用images / demo.png时,这种方式对我不起作用

我也尝试过以下IhttpHandler所示类似方法,但均未成功:返回基础动态图像生成ASPNET控制器路由IHttpHandler并为所有请求运行所有托管模块。

我的web config处理程序部分如下所示:

<!-- language: lang-xml -->
<add name="Imagehandler jpg" path="/images/*.jpg" verb="*" type="ResponsiveImages.Handlers.ImageHandler, ResponsiveImages.Handlers" />

<add name="Imagehandler jpeg" path="/images/*.jpeg" verb="*" type="ResponsiveImages.Handlers.ImageHandler, ResponsiveImages.Handlers" />

<add name="Imagehandler bmp" path="/images/*.bmp" verb="*" type="ResponsiveImages.Handlers.ImageHandler, ResponsiveImages.Handlers" />

<add name="Imagehandler png" path="/images/*.png" verb="*" type="ResponsiveImages.Handlers.ImageHandler, ResponsiveImages.Handlers" />

<add name="Imagehandler tiff" path="/images/*.tiff" verb="*" type="ResponsiveImages.Handlers.ImageHandler, ResponsiveImages.Handlers" />

如果我同时启用了处理程序和路由,则不会触发处理程序,但会触发路由。

谁能告诉我我在这里做错了吗?

杜加·麦克唐纳

您的路线映射中的路线是什么顺序?

MVC匹配第一个匹配路由,而不是最匹配的路由,我想您是在对特定路由进行映像之前先达到默认路由。

我怀疑您是否要尝试点击“ Images / Myfile.png”,这是因为该路由正在尝试查找静态文件,而不是使用图像路由。

也许可以通过诸如此类的其他问题来了解更多信息:

在MVC4中路由带有扩展名的网址无效,尝试提供静态文件

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章