【图解ASP.NET MVC运行机制理解-简易版】

 

很多盆友咨询ASP.NET MVC的机制。网上也有好多。但是都是相当深奥。看的云里雾里的。我今天抽空,整理个简易版本。把处理流程走一遍。

当然,这个只是处理请求的一部分环节。百度的面试题“客户端从浏览器发送一个请求,要经过哪些路程。。。”看似简单的问题,问的很有深度。

我们不关注 从客户端HTTP->TCP->DNS->Server->Application->..................Client  这个完整的路线和插曲。我们就看看程序那一块。

我这说的是ASP.NET MVC的Web程序,其它的请绕行哈.

IIS 6 7 8的变化,自行找资料。不影响ASP.NET 的处理机制。

开始步骤:

1.服务器监听TCP请求处理,转发给IIS.........

1.

1-2

2. IIS 接受到请求后,发送给Web程序。

3.Web程序在启动的时候,触发一系列的事件。

4.请找些资料 理解上面的管道模型 ,理解 HttpModule 、HttpHandler。Web程序启动的时候,事件注册顺序表,来自MSDN。

5 .穿过注册的Module后,才进入对应的 Handler 进行请求处理。MVC在配置文件中,加载注册了路由模块。

7.在程序启动的时候,触发注册模块的 Init 方法。

8.此方法为 HttpApplication 的事件 PostResolveRequestCache 注册了处理程序 。在触发此事件的时候,进行了请求的路由检测。路由数据,RouteTable是当前应用程序域-AppDomain下的一个单例模式的事例。实现在应用程序级别的路由数据共享。

9. 在应用程序启动的时候,使用单例的路由表 RouteTable对象,进行路由注册的注册配置。

好了。路由数据已经准备初始化完毕,各项处理事件也注册完毕。当请求进入当前程序时候,进入管道模型,最终到达处理程序Handler,将生成的响应数据返回。

----------------------------------关于管道模型的设计-------------------------------------

附加:

参考文献:深入理解ASP.NET的内部运行机制

Asp.net管道模型(管线模型)之一发不可收拾

https://msdn.microsoft.com/en-us/library/system.web.httpapplication(v=vs.80).aspx

NET MVC运行机制的更多相关文章

  1. ASP.NET MVC 学习1、新增Controller,了解MVC运行机制

    1,turorial ,根据链接教程新建一个MVC项目 http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/ ...

  2. 【图解ASP.NET MVC运行机制理解-简易版】

    很多盆友咨询ASP.NET MVC的机制.网上也有好多.但是都是相当深奥.看的云里雾里的.我今天抽空,整理个简易版本.把处理流程走一遍. 当然,这个只是处理请求的一部分环节.百度的面试题“客户端从浏览 ...

  3. MVC运行机制[转]

    原:http://www.cnblogs.com/jyan/archive/2012/06/29/2569566.html#3122335 ASP.NET是一种建立动态Web应用程序的技术.它是.NE ...

  4. MVC运行机制

    一,第一次程序运行时 1,第一次请求的时候 会获取配置文件,然后有个应用启动事件到global.asax.2,在Global.asax文件中,网站第一次运行会创建RouteTable对象,实现URL到 ...

  5. ASP.NET MVC运行机制源码剖析

    我们都知道ASP.NET首先是从Global.aspx中开始运行的, 在Application_Start()中添加路由映射后, 就由URLRouting组件创建IRouteHandler并执行, 在 ...

  6. HttpModule的认识与深入理解及MVC运行机制

    转自:http://kb.cnblogs.com/page/50130/ ASP.NET MVC架构与实战系列之二:理解MVC路由配置 http://www.cnblogs.com/jyan/arch ...

  7. ASP.NET MVC的运行机制--url的全局分析

    全局 首先我们来看一副图片       首先,用户通过Web浏览器向服务器发送一条url请求,这里请求的url不再是xxx.aspx格式,而是http://HostName/ControllerNam ...

  8. <转>ASP.NET学习笔记之理解MVC底层运行机制

    ASP.NET MVC架构与实战系列之一:理解MVC底层运行机制 今天,我将开启一个崭新的话题:ASP.NET MVC框架的探讨.首先,我们回顾一下ASP.NET Web Form技术与ASP.NET ...

  9. spring mvc 框架运行机制 + 数据绑定原理

    spring mvc 运行主要的组件: 1 前端控制器 (dispatchservlet) 相当于一个重要处理器,它用来调用其他功能模块来分工的效应一次请求,主要起调度的作用. 2. handler ...

随机推荐

  1. android中,如果使用imageButton可以在drawable 中设置一个selector,但是imageView设置不起作用

    android中,如果使用imageButton可以在drawable 中设置一个selector,但是imageView设置不起作用,只要把Imageview的src给去掉就成了,src捕获了bac ...

  2. 带有机器人框架的.NET自己主动化測试

    Clayton Neal在软件測试和质量保证方面有超过13年的经验,当中有八年的Windows, web,和移动应用程序的測试自己主动化经验.他在測试领域的全部等级都工作过.近期他在Bloomberg ...

  3. 与众不同 windows phone (29) - Communication(通信)之与 OData 服务通信

    原文:与众不同 windows phone (29) - Communication(通信)之与 OData 服务通信 [索引页][源码下载] 与众不同 windows phone (29) - Co ...

  4. ajax+jsp实现三级联动下拉框

    js文件sjld.js  : $(document).ready( function(){ $.ajax({ url:"bindZ", type:"get", ...

  5. java特权制度设计篇

    数据库表设计 1.1.1.   模块管理(jk_module) 项 类型 说明 id long 就是数据库记录idx号 name string 模块名称 orderid int 排序id  由小到大显 ...

  6. M I S 开发与管理

    今天是开学的第一天,很意外的一天没课.但是我知道还有很多事情在等待这我,不能懈怠!安排好计划,把重要不紧急的事情逐渐蚕食掉,切不可养虎为患,等拖到它变成重要紧急事件后,那就后悔莫及了. 下午看了看自考 ...

  7. VSTO 学习笔记(十一)开发Excel 2010 64位自定义公式

    原文:VSTO 学习笔记(十一)开发Excel 2010 64位自定义公式 Excel包含很多公式,如数学.日期.文本.逻辑等公式,非常方便,可以灵活快捷的对数据进行处理,达到我们想要的效果.Exce ...

  8. birkenfeld / sphinx-contrib — Bitbucket

    birkenfeld / sphinx-contrib — Bitbucket README for sphinx-contrib This repository contains a collect ...

  9. jQuery 复制节点的元素实现加入到购物车功能

    描写叙述: 用户点击左边div中的商品,相应商品会自己主动加入到右面的div中,类似电子商城中的加入到购物车功能. 主要用到了jquery中的复制节点功能,基本原理是首先获取点击的元素,然后将对应信息 ...

  10. C# 计算字符串/文件的哈希值(MD5、SHA)

    原文 C# 计算字符串的哈希值(MD5.SHA) 已做修改 一.关于本文 本文中是一个类库,包括下面几个函数: /// 1)计算32位MD5码(大小写):Hash_MD5_32 /// 2)计算16位 ...