1.浏览器发送请求报文到服务器,服务器接收到请求之后,根据请求报文头(url地址)的后缀名解析。

2.以iis服务器为例。他分为两种模式,经典模式和集成模式。主要是经典模式会将请求报文通过aspnet_isapi转交给framwork框架,而集成模式是直接交给framework框架。

3. 如果请求的是静态网页,例如以。html去硬盘中查找,如果找到对应的静态文件就直接返回贵浏览器。

如果是动态网页,例如.aspx,ashx,IIS会根据他的后缀名去处理映射池(处理程序映射)中查找对应的处理程序,然后进入formawork框架

4.isapiRuntime执行他的PR()方法,在内部执行HttpRuntime的PR()方法。在他的内部做了很多事:

(1)创建了上下文对象HttpContext,给上下文(HttpContext)的属性赋值,其中HttpRequest是请求报文对象。seeion,cookie,server,application,hander为空

(2)通过HttpApplicationFactory创建一个HttpAplication对象,通过这个方法执行被请求的页面

( 3)将上下文对象Httpcontext传给HttpAplication的PR()方法,  HttpApplication.ProcessRequest(HttpContext context)

5.执行HttpAplication的PR()方法,也即依次调用19个管道事件。6-7验证是否需要回发缓存,8 创建被请求页面类的对象 9 session 11-12 PR()方法

执行完毕之后返回给浏览器。

asp.net运行原理(一)总体概要的更多相关文章

  1. ASP.NT运行原理和页面生命周期详解及其应用

    ASP.NT运行原理和页面生命周期详解及其应用 1. 下面是我画的一张关于asp.net运行原理和页面生命周期的一张详解图.如果你对具体不太了解,请参照博客园其他帖子.在这里我主要讲解它的实际应用.  ...

  2. ASP.NET运行原理

    1,ASP.NET运行原理: 客户端向服务器发出请求 → 服务器处理请求→ 处理好的数据以报文发给浏览器 → 浏览器显示请求结果 2,Chrome浏览器,查看请求过程:F12打开浏览器的调试窗口: 3 ...

  3. IIS Web 服务器/ASP.NET 运行原理基本知识概念整理 转

    转http://www.cnblogs.com/loongsoft/p/7272830.html IIS Web 服务器/ASP.NET 运行原理基本知识概念整理  前言:      记录 IIS 相 ...

  4. IIS Web 服务器/ASP.NET 运行原理基本知识概念整理

     前言:      记录 IIS 相关的笔记还是从公司笔试考核题开始的,问 Application Pool 与 AppDomain 的区别?      促使我对进程池进了知识的学习,所以记录一下学习 ...

  5. ASP.NET运行原理_2

    当一个HTTP请求到服务器并被IIS接收到之后,IIS首先通过客户端请求的页面类型为其加载相应的.dll文件,然后在处理过程中将这条请求发送给能够处理这个请求的模块.在ASP.NET 3.5中,这个模 ...

  6. asp.net运行原理及机制

    当一个HTTP请求到服务器并被IIS接收到之后,IIS首先通过客户端请求的页面类型为其加载相应的.dll文件,然后在处理过程中将这条请求发送给能够处理这个请求的模块.在ASP.NET 3.5中,这个模 ...

  7. Asp.Net运行原理(=)

    浏览器与服务器之间的通信. 一般浏览器与服务器之间的底层是通过socket建立连接的. 当浏览器与服务器之间建立了socket连接之后,服务器就开始监听. 当浏览器与服务器之间建立了相互兼容的协议之后 ...

  8. iis6.0与asp.net的运行原理

    这几天上网翻阅了不少前辈们的关于iis和asp.net运行原理的博客,学的有点零零散散,花了好长时间做了一个小结(虽然文字不多,但也花了不少时间呢),鄙人不才,难免有理解不道的地方,还望前辈们不吝赐教 ...

  9. RocketMQ详解(三)启动运行原理

    专题目录 RocketMQ详解(一)原理概览 RocketMQ详解(二)安装使用详解 RocketMQ详解(三)启动运行原理 RocketMQ详解(四)核心设计原理 RocketMQ详解(五)总结提高 ...

随机推荐

  1. MVC神韵---你想在哪解脱!(十)

    增加追加数据的方法和视图 现在我们将要在数据库中追加并保存一些数据.我们将要创建一个表单以及一些表单输入控件,用来输入数据信息.当用户提交表单时将把这些用户输入的信息保存在数据库中.我们可以通过在浏览 ...

  2. [前端JS学习笔记]JavaScript 数组

    一.JavaScript数组的奇葩 大多数语言会要求数组的元素是同个类型, 但是JavaScript允许数组元素为多种类型. var arr = ["羽毛球", 666, {&qu ...

  3. 从零开始学android开发- layout属性介绍

    android:id 为控件指定相应的ID android:text 指定控件当中显示的文字,需要注意的是,这里尽量使用strings.xml文件当中的字符串 android:gravity 指定Vi ...

  4. .NET中的三种Timer的区别和用法

    最近正好做一个WEB中定期执行的程序,而.NET中有3个不同的定时器.所以正好研究研究.这3个定时器分别是: //1.实现按用户定义的时间间隔引发事件的计时器.此计时器最宜用于 Windows 窗体应 ...

  5. 飘逸的python - 编码杂症之在字符串前面加u

      有时候我们从其它地方接受的字符串经过艰难跋涉,它变了个样.比如收到的是'\u6253\u602a\u8005'而不是u'\u6253\u602a\u8005'. 明明肉眼看起来只需要加个u,但是怎 ...

  6. Qt一个project调用还有一个project的类成员变量

    一句两句话已经不能表达如今的激动情绪了.唯有感叹知识的博大精深,并把感叹转变为文字. 同一个project调用其它类成员变量很easy. 如: 定义 Test1.h中申明成员变量 class A { ...

  7. Spark Core源代码分析: Spark任务运行模型

    DAGScheduler 面向stage的调度层,为job生成以stage组成的DAG,提交TaskSet给TaskScheduler运行. 每个Stage内,都是独立的tasks,他们共同运行同一个 ...

  8. linux下tomcat开机自启动

    tomcat自启动配置: 方法一: vi /etc/rc.local 添加如下一行 /opt/apache-tomcat-7.0.29/bin/startup.sh (脚本绝对路径) 注意:要添加在e ...

  9. Fedora 19安装Fcitx输入法并安装搜狗输入法资源包

    系统自带的Ibus输入法非常的不好用.在Sublime Text下中文根本不能输入.于是想着换成Fcitx. 1.先卸载系统自带的Ibus输入法 sudo yum remove ibus gsetti ...

  10. sysbench 安装 原创

    1.下载sysbench version 0.5 https://github.com/akopytov/sysbench 2. [root@server1 sysbench-0.5]# pwd/ro ...