MVC整体运行流程一(进入管道)

1、在浏览器输入 https://www.cnblogs.com/zhangmm96/发送一个HTTP到web服务器,Web服务器WIndows内核中的HTTP.SYS组件捕捉当前请求,该组件分析出是一个需要交给IIS服务器处理的HTTP请求时,就会把Request请求交给IIS来处理,

2、如果该请求有缓存就会直接响应,

  

  HTTP.SYS组件最重要的就是有一个缓存区,将近期处理请求缓存起来,提高响应速度,静态的文件会被缓存于内核模式下

3、IIS会分析Request氢气逇context-type类型,然后从处理程序映射表中去匹配,能匹配到请求的context-type类型时,会将请求交给映射表所对应的程序处理,为匹配到时(一般是请求的静态文件),就会去下载对应路径下的文件。如jpg,

4、对于 动态资源的处理,iis首先会通过一个工作进程去加载具体的处理组件DLL,IIS6.0,无法处理asp.net请求时,就会由W3WP.EXE所维护的工作进程来加载aspnet_isapi.dll

5、如果web应用程序是第一次加载,首先由aspnet_isapi.dll加载.net运行时(.net framework创建CLR运行时)IIS工作进程中油一个应用程序池,可以承载多个应用程序域AppDomain。

6、HTTP.SYS接收请求,通过应用程序域工厂AppDomainFactory创建应用程序域AppDomain。

7、一个IsapiRequest被加载,并创建一个IsapiWorkerRequest对象来封装当前HTTP请求,并IsapiWorkerRequst对象传递个Asp.net的HttpRuntime运行时,此时Http请求开始进入Asp.net请求管道,HttpRuntime是Asp.Net请求管道的入口,当请求进来时,先进入

  HttpRuntime,由HttpRuntime决定如何处理程序

8、HttpRuntime维护这一个HtttpApplication池,当有Http请求过来就从池中取出可用的HttpApplication处理请求

9、HttpRuntime根据IsapiWorkerRequest对象创建HttpContext对象。

10、HttpApplicationFactory创建新的或者从HttpApplication池中获取现有的、可以用的HttpApplication对象

11、HttpApplication调用ProcessRequest方法,内部执行19个管道事件,参考另一篇:19个管道事件

原文地址:https://www.cnblogs.com/zhangmm96/p/11421442.html

时间: 2024-10-16 20:01:02

MVC整体运行流程一(进入管道)的相关文章

MVC – 9.mvc整体请求流程

1.请求管道 2~5微软自己的验证,我们一般不用. 在全局配置文件中-已经配置一个路由过滤器-为第7个事件注册了路由方法   1.在application_start中向静态路由表注册了路由数据,在管道第7个事件方法中使用了该路由表数据 1.1.确保网站第一次调用了Global.asax文件里的Application_Start routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}",

Spring MVC整体处理流程

一.spring整体结构 首先俯视一下spring mvc的整体结构 二.处理流程 1.请求处理的第一站就是DispatcherServlet.它是整个spring mvc的控制核心.与大多数的java web框架一样,spring mvc所有的请求都会经过一个核心的前端控制器(Servlet).DispatcherServlet通过一个或者多个处理程序映射,将每个请求映射到处理程序中.处理程序映射配置在web应用程序的上下文中,是实现了HandlerMapping接口的Bean.它负责为请求返

C语言整体运行流程

在ANSI C的任何一种实现中,存在两种不同的环境: 一.翻译环境,在这个环境里,源代码被转换为可执行的机器指令: 二.执行环境,它用于实际执行代码. 翻译阶段由几个部分组成: 一.组成程序的每个(有可能有多个)源文件通过编译过程分别转换为目标代码(object code). 二.各个目标文件由连接器(linker)捆绑在一起,形成一个单一而完整的可执行程序. 编译过程又由几个阶段组成: 一.预处理器(preprocessor)处理,在这个阶段,预处理器在源代码上执行一些文本操作.例如,用实际值

dedeCMS,标准的MVC框架运行原理和缓存

1.织梦的工作原理: a.模板引擎: b.内核文件的载入.读取: 运行原理:url->配置文件->公共函数文件->处理逻辑->模板引擎->展示:(公共函数文件.处理逻辑和模板引擎就是织梦的核心) 2.标准的MVC框架运行流程:程序首先从单人口文件开始运行,然后依次载入内核文件(同时开始各种的初始化).配置.类和动作(在这之前已经载入了模板引擎),运行到业务层,业务层又会给类和动作,最后才展示出来. 3.关于缓存: a.缓存类型: 按缓存类型划分:内存缓存.文件缓存.数据库缓存

Spark修炼之道(进阶篇)——Spark入门到精通:第九节 Spark SQL运行流程解析

1.整体运行流程 使用下列代码对SparkSQL流程进行分析,让大家明白LogicalPlan的几种状态,理解SparkSQL整体执行流程 // sc is an existing SparkContext. val sqlContext = new org.apache.spark.sql.SQLContext(sc) // this is used to implicitly convert an RDD to a DataFrame. import sqlContext.implicits

打造简洁高效的企业运行流程

市场萎缩.消费疲软.资金短缺--相信绝非一家企业的难题.如何破解市场困局,在实力相当.毅力相同的情况下,创新能力就成了取胜的关键.变革组织运行流程,实行流程重组,无疑是谋求企业发展的快捷方式之一.经济学家郎咸平教授2008年年底率先提出,国内企业要改变在全球产业链中6+1的地位,其中一项很重要的工作就是优化流程工序,提高产品附加值.郎教授惯于用通俗易懂的词句解释复杂的经济现象或管理理论.他曾用总结优化大厨制作"鱼香肉丝"的流程.提高饭店竞争力的例子,来说明流程优化对于企业发展的积极作用

MVC开发模式的数据运行流程

对于java中经典的开发模式MVC,有一些感触!现说一下Java中数据的运行流程,由于我技术有限,有错的话欢迎提出,不喜勿喷! 我们知道在MVC开发模式,包括三部分视图层V(view).控制层C(Controller)和模型层M(model),那么在一个项目中,这三部分又是指的什么呢? 视图层:顾名思义指的是看到的界面,通常也就是我们所说的JSP页面. 控制层:指的是servlet. 模型层:除了这两部分,剩下的所有. 在这里我将用画图的形式显示一下,数据的流转方式 1.当我们在JSP页面点击一

Spring MVC框架搭建及运行流程

一.搭建Spring MVC框架步骤 1.创建Dynamic Web Project 2.导入spring和springmvc所需要的文件(jar包) 3.配置web.xml文件 <span style="font-size:18px;"> <span style="font-size:14px;"> <!-- Spring 配置文件位置 --> <context-param> <param-name>co

&lt;转&gt;ASP.NET学习笔记之理解MVC底层运行机制

ASP.NET MVC架构与实战系列之一:理解MVC底层运行机制 今天,我将开启一个崭新的话题:ASP.NET MVC框架的探讨.首先,我们回顾一下ASP.NET Web Form技术与ASP.NET MVC的异同点,并展示各自在Web领域的优劣点.在讨论之前,我对这两种技术都非常热衷,我个人觉得在实际的项目开发中,两者都能让我们受益匪浅,因此是目前Web领域两大平行和流行的技术.我们都知道,在传统的ASP.NET Web Form应用程序中,Microsoft已为我们设计了较为完整.简洁的开发