• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

从.NET类库代码来看ASP.NET运行时[1]

发布: 2008-5-15 09:57 | 作者: 不详 | 来源: dev.yesky.com | 查看: 92次 | 进入软件测试论坛讨论

领测软件测试网 关键字:.net写在前面的话:网上讲Asp.net运行模式的好文章已经很多了,笔者本不用多此一举,另成一文。但从笔者自己的学习经验看,如果学到的这些知识不能对应到类库中的源代码,印象总归不够深刻,大有隔靴搔痒之感。只好自己写上一篇,对这方面的知识做个小小的总结。文中所有内容都是笔者在看了网上很多文章后,结合自己的开发经验得出的一些理解,难免有错误的地方,欢迎批评指出。另外,由于笔者能力所限,很多地方并未说透(真正对应到代码),也盼高手能够给予补充。

  一.进入Asp.net运行时之前

  虽然本文的重点是对托管代码的解析,但为了整个知识点的完整性,这里简单介绍一下IIS处理请求的一些基本情况。在一个IIS服务器上,你可以设置多个应用程序池(每个应用程序池可以单独设置允许使用的最大内存数量、CPU使用率、回收工作进程的时间间隔等参数,而且一个应用程序池里面只能使用一个版本的.NET Framework),然后把自己的Web应用分别部署到这些应用程序池中。在默认情况下,每个应用池会有一个工作进程w3wp.exe来维护(如果开通了Web园功能,也可以设置多个工作进程)。每个应用程序(虚拟目录)在池中都有自己的应用程序域,这些应用程序域都处于这个应用程序池的工作进程的进程空间内。

  IIS是通过各种ISAPI的扩展来处理各种类型的应用的。当我们从客户端提交一个请求过来之后,IIS会根据请求的页面或者服务的类型,把请求映射到指定的ISAPI扩展。比方说,如果我们需要让IIS支持perl这样的服务器端程序(当然,这个移植工作早就有人做过了),我们就需要编写一个专门处理对perl页面进行的请求的ISAPI扩展。根据ISAPI的定义(符合这个定义的ISAPI扩展才能和IIS正常交互),在你的扩展中可以包括ISAPI Extension和ISAPI Filter两大部分。ISAPI Extension是对请求的处理程序,完成和web服务器之间的输入输出;而ISAPI Filter则是一些回调接口,你可以通过实现这些接口来介入到整个请求处理的每一步骤,对Authentication,RevolveCache等环节进行控制。另外,ISAPI本身就是在工作进程里运行的,而asp.net运行时也是在工作进程里运行的,所以两者的交互非常有效率。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: asp ASP net NET Net 代码 类库 运行

41/41234>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网