在我的路由中,我希望有类似未找到路由处理程序的东西。
例如,我创建了一个映射,例如
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 映射能够接受这个请求,因为所有其他映射都失败了。但不是这个,我得到一个错误。
如果控制器或操作发生异常,我应该重写一些映射处理程序以捕获异常吗?