2014-09-02 42 views
0

我有一个MVC4 application,我试图生成一个路由或ihttphandler处理图像请求,但这handler or route永远不会被解雇。ASP.net MVC图像路由

我对route config以下路线:

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

这种方式是不是为我工作,当我使用它,例如调用图像/ demo.png

我自己也尝试了IhttpHandler像显示在这里没有成功之一: Back To Basics Dynamic Image Generation ASPNET Controllers Routing IHttpHandlers And Run All Managed Modules For All Requests.

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" /> 

如果我有处理程序和路由都处于活动状态,处理程序不会被触发,但路由会发生。

有谁能告诉我我在做什么错在这里?

回答

2

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

MVC匹配FIRST匹配路线,而不是最具体的,我猜你在图像特定路线之前击中了默认路线。

我怀疑如果你正在尝试点击“Images/Myfile.png”发生了什么事情是路由试图找到一个静态文件,而不是使用你的图像路由。

也许必须通过其他问题一看像这样的进一步信息:

Routing a url with extension in MVC4 won't work, tries to serve up static file

+0

我有我的形象路线,然后默认的: routes.MapRoute(“图片”,“图像/ {filename}“,new {controller =”Image“,action =”ImageRequest“});默认值: url:{controller}/{action}/{id}可选的 }); – Vfleitao 2014-09-02 13:02:02

+0

感谢YOUUUUUUUUU,在编辑之后,你发布的东西就像一个魅力,现在它的工作。感谢:D – Vfleitao 2014-09-02 14:10:08

+0

没问题,很高兴帮助 – dougajmcdonald 2014-09-02 14:49:11