Dan*_* T. 7 c# asp.net-routing url-routing
我想创建一个动态缩略图大小调整器,以便您可以使用以下URL来获取已调整大小的图像:
http://server/images/image.jpg?width=320&height=240
Run Code Online (Sandbox Code Playgroud)
我尝试设置这样的路线:
routes.MapRoute(null,
"{filename}",
new { controller = "Image", action = "Resize" });
Run Code Online (Sandbox Code Playgroud)
但是如果该文件存在于URL中,则ASP.NET将绕过路由并仅返回该文件.如何强制ASP.NET路由图像而不是返回磁盘上的内容?
这就是 asp.net 路由的工作原理,没有解决办法...如果您想拦截现有文件的请求,则必须使用 Rewrite。
更新
看来我扣扳机的速度有点太快了。似乎有一个您可以设置的属性,它允许您甚至对现有文件强制执行路由。
RouteCollection.RouteExistingFiles 属性
http://msdn.microsoft.com/en-us/library/system.web.routing.routecollection.routeexistingfiles.aspx
获取或设置一个值,该值指示 ASP.NET 路由是否应处理与现有文件匹配的 URL。如果 ASP.NET 路由处理所有请求,甚至那些与现有文件匹配的请求,则为 True;否则为假。默认值为 false。
| 归档时间: |
|
| 查看次数: |
4933 次 |
| 最近记录: |