Mvc 调用过程
2017-10-18 20:02:35 11 举报
asp.net mvc 调用过程
作者其他创作
大纲/内容
引用
abstract BuildManagerViewEngine
abstract System.Web.Mvc.ViewResultBase
public Object Model {get return this.ViewData.Model;}public TempDataDictionary TempData{get;set;}public IView View{get;set;}public dynamic ViewBag{get;}public ViewDataDirectory ViewData{get;set;}// 默认返回ViewEngines.Engines包含RazorViewEngine() 和 WebFormViewEngine()public ViewEngineCollection ViewEngineCollection{get;set;}public string ViewName{get;set;}
System.Web.Mvc.ViewEngineResult
IEnumerable SearchedLocations{get;set;}IView View{get;set;}IviewEngine ViewEngine{get;set;}
继承
调用
System.Web.IHttpModule
+ Init(HttpApplication application):void
System.Web.Mvc.ViewEngineCollection : Collection
System.Web.Mvc.IViewEngine
System.Web.Mvc.MvcHandler
System.Web.Mvc.ControllerActionInvoker
PartialViewResult
System.Web.Routing.RouteCollection : Collection
WebFormViewEngine
System.Web.Mvc.IController
void Execute(RequestContext requestContext);
System.Web.Mvc.IView
System.Web.IHttpHandler
+ ProcessRequest((HttpContext context)):void
System.Web.Mvc.MvcRouteHandler
protected virtual IHttpHandler GetHttpHandler(RequestContext requestContext){ // 这里引入了MvcHandler return new MvcHandler(requestContext);}
System.Web.Mvc.ControllerBase
public ControllerContext ControllerContext{get;set;}public TempDataDictionary TempData{get;set;}public bool ValidateRequest{get;set;}public IValueProvider ValueProvider{get;set;}public Object ViewBag{get;}public ViewDataDictionary ViewData{get;set;}
abstract System.Web.Mvc.ActionResult
public abstract void ExecuteResult(ControllerContext context);
RazorViewEngine
System.Web.Routing.UrlRoutingModule
System.Web.Mvc.IActionInvoker
System.Web.Routing.RouteData
public RouteBase Route{get;set;}public IRouteHandler RouteHandler{get;set;}public RouteValueDictionary DataTokens {get;}public RouteValueDictionary Values{get;}
ViewResult
string MasterName{get;set}
System.Web.Routing.IRouteHandler
+ GetHttpHandler(RequestContext requestContext):IHttpHandler
abstract VirtualPathProviderViewEngine
System.Web.Mvc.Controller
System.Web.Routing.Route
public RouteValueDictionary Constraints{get;set;}public RouteValueDictionary DataTokens{get;set;}public RouteValueDictionary Defaults{get;set;}public IRouteHandler RouteHandler{get;set}public string Url{get;set;}
abstract System.Web.Routing.RouteBase
// 决定asp.net routing应该操作Urls 符合一个已存在的文件 public bool RouteExistingFiles{Get;set;}
public abstract RouteData GetRouteData(httpContextBase httpContext);
0 条评论
下一页