MVC 源码系列之控制器执行(一)】的更多相关文章

控制器的执行 之前说了Controller的激活,现在看一个激活Controller之后控制器内部的主要实现. public interface IController { void Execute(RequestContext requestContext); } 先看一下IController的接口,就一个方法Execute的方法,参数为RequestConext. graph TD IController-->ControllerBase ControllerBase-->Control…
## 控制器的执行 上一节说道Controller中的ActionInvoker.InvokeAction public virtual bool InvokeAction(ControllerContext controllerContext, string actionName) { if (controllerContext == null) { throw new ArgumentNullException("controllerContext"); } Contract.As…
Controller的激活 上篇说到Route的使用,GetRoute的方法里面获得RouteData.然后通过一些判断,将最后的RouteData中的RouteHandler添加到context.RemapHandler.这个方法的意思就是将请求重新映射到这个handler中出来.在上一篇也说到了这个Handler其实是MvcRouteHandler. RouteData routeData = this.RouteCollection.GetRouteData(context); if (r…
GetControllerType和GetcontrollerInstance GetControllerType protected internal virtual Type GetControllerType(RequestContext requestContext, string controllerName) { if (requestContext == null) { throw new ArgumentNullException("requestContext");…
路由系统 注释:这部分的源码是通过Refector查看UrlRoutingModule的源码编写,这部分的代码没有写到MVC中,却是MVC的入口. 简单的说一下激活路由之前的一些操作.一开始是由MVC中的UrlRouteingModule进行开始MVC的执行,也是说是整个MVC的入口.这是继承HttpModule,可以对管道进行自定义操作的类型.开始看看里面的代码.这个是UrlRouteModule中PostResolveRequestCache的方法,也就是它在init的时候在管道的PostR…
MVCParseData和Match方法的实现 ### ParseData 那么首先要了解一下ParseData. //namespace Route public string Url { get { return (this._url ?? string.Empty); } set { this._parsedRoute = RouteParser.Parse(value); this._url = value; } } 其实在Route创建的时候 ,便将属性_parsedRoute赋值了.…
前言:上篇介绍了下 MVC5 的核心原理,整篇文章比较偏理论,所以相对比较枯燥.今天就来根据上篇的理论一步一步进行实践,通过自己写的一个简易MVC框架逐步理解,相信通过这一篇的实践,你会对MVC有一个更加清晰的认识. 本文原创地址:http://www.cnblogs.com/landeanfen/p/6000978.html MVC源码学习系列文章目录: MVC系列——MVC源码学习:打造自己的MVC框架(一) MVC系列——MVC源码学习:打造自己的MVC框架(二:附源码) MVC系列——M…
前言:通过之前的三篇介绍,我们基本上完成了从请求发出到路由匹配.再到控制器的激活,再到Action的执行这些个过程.今天还是趁热打铁,将我们的View也来完善下,也让整个系列相对完整,博主不希望烂尾.对于这个系列,通过学习源码,博主也学到了很多东西,在此还是把博主知道的先发出来,供大家参考. 本文原创地址:http://www.cnblogs.com/landeanfen/p/6019719.html MVC源码学习系列文章目录: MVC系列——MVC源码学习:打造自己的MVC框架(一) MVC…
前言:上篇介绍了下自己的MVC框架前两个版本,经过两天的整理,版本三基本已经完成,今天还是发出来供大家参考和学习.虽然微软的Routing功能已经非常强大,完全没有必要再“重复造轮子”了,但博主还是觉得自己动手写一遍印象要深刻许多,希望想深入学习MVC的童鞋自己动手写写.好了,废话就此打住. 本文原创地址:http://www.cnblogs.com/landeanfen/p/6016394.html MVC源码学习系列文章目录: MVC系列——MVC源码学习:打造自己的MVC框架(一) MVC…
前言:最近一段时间在学习MVC源码,说实话,研读源码真是一个痛苦的过程,好多晦涩的语法搞得人晕晕乎乎.这两天算是理解了一小部分,这里先记录下来,也给需要的园友一个参考,奈何博主技术有限,如有理解不妥之处,还希望大家斧正,博主感激不尽! 本文原创地址:http://www.cnblogs.com/landeanfen/p/5989092.html MVC源码学习系列文章目录: MVC系列——MVC源码学习:打造自己的MVC框架(一) MVC系列——MVC源码学习:打造自己的MVC框架(二:附源码)…