ASP.NET MVC 中 RouteHandler 的扩展

RouteHandler是在路由选择之后进行处理的组件,它并不仅仅针对ASP.NET MVC。

显然,如果您改变了RouteHandler,那么对请求的处理将不再使用ASP.NET MVC,

但这在您使用其他HttpHandler或经典的WebForm进行路由处理时却是非常有用的。

 

要创建一个 route handler 需要继承 System.Web.Routing.IRouteHandler 接口实现接口的 GetHttpHandler方法。

ASP.NET MVC 中 RouteHandler 的扩展_第1张图片

 一下是和 ASP.NET MVC 默认的 MvcHandler 部分相同功能的 CustomMVCHandler 类的实现

ASP.NET MVC 中 RouteHandler 的扩展_第2张图片 

 现在我们可以通过在 global.asax.cs 的Application_Start事件中创建一个新的 route 对象来挂上刚才的CustomRouteHandler了。

ASP.NET MVC 中 RouteHandler 的扩展_第3张图片

 到此为止我们的CustomRouteHandler就能工作了。 source code

你可能感兴趣的:(asp.net)