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. wiki1169-传纸条(dp)

    http://wikioi.com/problem/1169/ 四维数组和三维数组: #include<iostream> #include<cstdio> #include& ...

  2. 【转】Java判断是否是整数,小数或实数的正则表达式

    经常会遇到这样的情况,需要判断一个字符串是否是一个合法的数,包括整数,小数或者实数. 网上查到很多文章大多是判断这个字符串是否全为数字,比如下面这段来自StringUtils的代码,可以看到,13.2 ...

  3. Hadoop on Mac with IntelliJ IDEA - 2 解决URI错误导致Permission denied

    本文讲述在IntelliJ IDEA中使用FileSystem.copyFromLocalFile操作Hadoop时因URI格式有误导致Permission denied的解决过程. 环境:Mac O ...

  4. iOS GCD 与 NSOperationQueue

    NSOperationQueue ios NSOperation vs. GCD StackOverflow: NSOperation vs. Grand Central Dispatch Blog: ...

  5. VS DLL 复制本地

    1.引用一个DLL,需要指定路径,复制本地的意思是 把这个DLL复制到exe的Debug目录(调试的时候). 2.复制到本地的动作是在生成的时候执行的,清理的时候会删除. 3.从外部引用一个DLL,不 ...

  6. python工具程序一、复制目录中指定扩展名的文件

    #!/usr/bin/env python # coding:utf-8 # xcopy Lib directory and rename all files to *d.lib import os ...

  7. SSAS 实例重命名

            在某些时候我们可能想对现有的SSAS实例进行重命名之类的,比如:我以前有两个SSAS,一个2005,一个2008R2,其中我们2005是一开始安装的,并且是默认实例,2008R2是命名 ...

  8. C#_在.net中序列化读写xml方法的总结

    阅读目录 开始 最简单的使用XML的方法 类型定义与XML结构的映射 使用 XmlElement 使用 XmlAttribute 使用 InnerText 重命名节点名称 列表和数组的序列化 列表和数 ...

  9. Maven 修改本地存储库位置--转

    step1:默认会放在~/.m2/repository目录下 (“~”代表用户的目录,比如windows下一般都是C:\Documents and Settings\[你的用户名]\), step2: ...

  10. SkyEye的使用

    转载:http://blog.csdn.net/htttw/article/details/7226754 对于希望学习ARM汇编的同学而言, 购买ARM开发板进行板上实测无疑是一个有效的方法,不过购 ...