【发布时间】:2008-11-25 11:06:40
【问题描述】:
在我的路由中,我希望有类似未找到路由处理程序的东西。
例如,我创建了一个类似的映射
routes.MapRoute(
"default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id="" }
);
routes.MapRoute(
"Catchall",
"{*catchall}",
new { controller = "Home", action = "Lost" }
);
但是当用户插入类似 /one/two/three/four/bla/bla 之类的地址时,它将与 Catchall 映射一起缓存。
但是当用户插入一些应该与默认映射匹配的东西时, (如 /one/two/ ,但未实现此控制器或操作) 我希望 Catchall 映射能够接受这个请求, 因为所有其他映射都失败了。但不是这个,我得到一个错误。
如果控制器或操作发生异常,我是否应该重写一些映射处理程序以捕获异常?
【问题讨论】: