ASP.NET MVC 仿真 - (2)定制自己的HttpHandler
2012-07-10 11:05
411 查看
上次说到了Route的注册,这回接下去讲。由于源码本身要复杂许多,我这面只是要仿真下.NET MVC框架请求接收与处理的信息脉络,所以去繁就简,只留下一些核心的代码。
到了ProcessRequest这里,算是找到了响应请求的入口。所有的请求都会在这面进行处理。
这边出于仿真的目的,所以直接把Controller的名字给打印出来了。
路由的第一层威力体现出来了,就是通过定制路由,找到Controller的名字;既然有了名字,实例化一个Controller大概也不难了。
namespace MvcFake.mvc { public class MvcRouteHandler : IRouteHandler { public MvcRouteHandler() { } public IHttpHandler GetHttpHandler(RequestContext requestContext) { requestContext.HttpContext.SetSessionStateBehavior(SessionStateBehavior.Default); return new MvcHandler(requestContext); } } }
namespace MvcFake.mvc { public class MvcHandler : IHttpHandler { public bool IsReusable { get; set; } private RequestContext RequestContext { get; set; } public MvcHandler(RequestContext requestContext) { RequestContext = requestContext; } public void ProcessRequest(HttpContext context) { string controllerName = RequestContext.RouteData.GetRequiredString("controller"); context.Response.Write("Controller Name: " + controllerName); } } }
到了ProcessRequest这里,算是找到了响应请求的入口。所有的请求都会在这面进行处理。
这边出于仿真的目的,所以直接把Controller的名字给打印出来了。
路由的第一层威力体现出来了,就是通过定制路由,找到Controller的名字;既然有了名字,实例化一个Controller大概也不难了。
相关文章推荐
- Asp.Net MVC自定义HttpHandler
- asp.net mvc 5.0 借助路由规则实现*.aspx与HttpHandler交互
- ASP.NET MVC 中如何用自定义 Handler 来处理来自 AJAX 请求的 HttpRequestValidationException 错误
- 关于asp.net mvc中的httpModules 与 httpHandler
- 在ASP.NET MVC中支持 HttpHandler
- 创建自定义路由处理程序(Creating a Custom Route Handler) | 定制路由系统| 高级路由特性 |精通ASP-NET-MVC-5-弗瑞曼
- 关于linux asp.net MVC网站中 httpHandlers配置无效的处理方法
- ASP.NET---HttpHandler 和 HttpModule
- asp.net 请求输入到输出的全过程 httpHandler和httpModuler
- ASP.NET 2.0 HttpHandler实现生成图片验证码(示例代码下载)
- Asp.Net 页面请求处理之HttpHandler
- ASP.NET 2.0 HttpHandler实现生成图片验证码(示例代码下载)
- ASP.NET 防盗链的实现[HttpHandler]
- 转ASP.NET 防盗链的实现[HttpHandler]
- ASP.NET MVC路由配置(转载自http://www.cnblogs.com/zeusro/p/RouteConfig.html )
- [整理]IIS 6.0 下部署 Asp.net MVC Web Api 后 HTTP PUT and DELETE 请求失败
- asp.net底层架构学习笔记(IIS5/6/7处理模型,HttpRuntime,HttpContext,HttpApplication,HttpModel,HttpHandler...)
- 转:【译】Asp.net MVC 利用自定义RouteHandler来防止图片盗链
- ASP.NET (HttpModule,HttpHandler)
- ASP.NET 2.0 HttpHandler实现对某种文件类型权限保护(示例代码下载)