我在 global.asax 文件中为已移动到数据库的图像设置了一个路由表。当我使用将 EmpImages/[numeric id] 作为基本格式的 url 时,如果我使用与 ~/EmpImages/42 相同的 url,它就可以正常工作,但是我们有数百个硬编码链接是 ~/EmpImages/42 .png。当我尝试使用 EmpImages/[numeric id].png 时,永远不会调用处理程序。
我查看了几个显示 .ext 的示例,但它们使用的是页面路由而不是处理程序。使用下面的代码,您能告诉我我缺少什么吗?
这部分工作:
RouteTable.Routes.Add(new Route("EmpImages/{id}/{size}", new EmployeeImageRouteHandler()));
RouteTable.Routes.Add(new Route("EmpImages/{id}", new EmployeeImageRouteHandler()));
使用网址时:
~/EmpImages/42
~/EmpImages/42/256
但是当我尝试时:
RouteTable.Routes.Add(new Route("EmpImages/{id}/{size}.png", new EmployeeImageRouteHandler()));
RouteTable.Routes.Add(new Route("EmpImages/{id}.png", new EmployeeImageRouteHandler()));
使用网址时:
~/EmpImages/42.png
~/EmpImages/42/256.png
它失败。处理程序永远不会被调用。
我错过了什么简单的事情?