2014-09-02 84 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