客户端发送请求到达服务器

输入域名->DNS解析->指定IP 服务器(如果网页直接输入IP地址则直接到服务器)->请求到达服务器->HTTP.SYS接受HTTP请求->转发给ISAPI(是一个内置服务,他是IIS服务器的一个组件),检查当前请求的后缀。(后缀的配置在 处理程序映射  服务里面)->根据后缀(asp.net mvc默认管道给他添加一个asd后缀)  管道通信给aspnet_isapi(注意这个是给sap.net用的   其他的还有php_isapi   java_isapi等)->把网站的请求封装为httpworkrequest->然后又把httpworkerequest传给httpruntime(httpruntime是可以再程序中访问到的,他是asp.net程序的入口),然后httpruntime创建一个appdomain->然后到达httpapplicationfactory,他是http应用程序的一个工厂->他会创建出一个httpapplication(管道模型就是来自他)

推荐文章

http://blog.csdn.net/smartsmile2012/article/details/51597442

http://blog.sina.com.cn/s/blog_44fa172f0102wiu4.html

关键词解释

上图(来自网络)中httpruntime和httpapplicatonfactory是浅颜色,因为他们是单例的。说明这两个对象在程序中只有一次创建。

每次过来请求都会创建一个httpapplication,但是httpapplicationfactory内部维护了一个对象池,每次创建的httpapplication使用完之后不会马上被销毁。会放在池子里。

关键字解释

应用程序池:IIS中的概念,就是网站运行时的内存空间。

应用程序域::为了保证代码的键壮性CLR希望不同服务功能的代码之间相互隔离,这种隔离可以通过创建多个进程来实现,但操作系统中创建进程是即耗时又耗费资源的一件事,所以在CLR中引入了AppDomain的概念,AppDomain主要是用来实现同一进程中的各AppDomain之间的隔离

推荐https://www.cnblogs.com/asminfo/p/3999412.html

HttpRuntime:ttpRuntime在ASP.NET处理请求中负责的是创建HttpContext对象以及调用HttpApplicationFactory创建HttpApplication。

推荐https://www.cnblogs.com/kissdodog/archive/2013/05/07/3065208.html

HTTPApplicationFactory:创建HttpApplication,对HttpApplication池管理。

HttpApplication:就是一个用户请求。

推荐https://www.cnblogs.com/liangxiaofeng/p/5625976.html

推荐https://www.cnblogs.com/cs_net/archive/2010/11/22/1883706.html

HttpContext:用户请求以及后台处理的信息都放在这个类型里面,里面包含了用户请求过程遇到的事件(分别可以通过Module和global.asax指定)

推荐文章https://www.cnblogs.com/cs_net/archive/2010/11/22/1883706.html

Module:对HttpApplication中事件 进行注册。是一个观察者模式(加配置文件)。

Handler:所有的请求都回到Handler(无论是原来的webform 还是现在的mvc。就连一个图片都是的。)。

最新文章

  1. eclipse安装Eclipse Memory Analyzer插件
  2. Image Segmentation的定义
  3. Mvc多级Views目录 asp.net mvc4 路由重写及 修改view 的寻找视图的规则
  4. iOS 7中使用UINavigationController进行pop崩溃
  5. FOR XML PATH 解决联接返回结果集各记录问题
  6. UI1_UITouch
  7. FormsAuthentication 登录兼容 IE11 保存cookie
  8. apache也可以做负载均衡,跟nignx的区别是什么?
  9. c++到c#数据类型的转换
  10. 图的邻接链表实现(c)
  11. OFTP说明
  12. Qt对ini文件的读写
  13. nodejs package.json详细解读
  14. linux --xampp 配置多个网站
  15. 免费API接口
  16. IDFA
  17. vs2017调试源代码
  18. LRU Cache leetcode java
  19. L177 Arctic ice brings an understanding of ancient Europe’s economy
  20. python中基于descriptor的一些概念(下)

热门文章

  1. 5、创建RDD(集合、本地文件、HDFS文件)
  2. YII框架的类自动加载机制
  3. swoole入门到实战打造高性能赛事直播平台☆
  4. zabbix(x)
  5. ssh sshpass随笔
  6. centos6下安装docker
  7. MongoDB下载不了的问题
  8. win10 合并磁盘 disk Acronis Disk Director
  9. GDPR全文翻译(二)
  10. Ionic4.x Modal模态对话框以及 Modal 传值