.net Framework 和asp.net的运行原理及运行机制

1.net framework简介

         .NET Framework是微软公司推出的完全面向对象软件开发与运行平台。它具有两个主要组件,分别是公共语言运行库(Common Language Runtime,CLR)和.NET Framework类库

          公共语言运行库(CLR)是.NET Framework的基础,它为多种语言提供了一种统一的运行环境。可以将运行库看作一个在执行时管理代码的代理,代码管理的概念是运行库的基本原则。以运行库为目标的代码称为托管代码,而不以运行库为目标的代码称为非托管代码。

          .NET Framework的另一个主要组件是类库,可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面(GUI)应用程序,也包括基于ASP.NET所提供的最新创建的应用程序(如Web窗体和XML Web Services)。

2.asp.net的运行原理

          当一个HTTP向服务器请求并被IIS接收后,首先,IIS检查客户端请求的页面类型,并为其加载相应的dll文件,然后,在处理过程中将这条请求发送给能够处理这个请求的模块。在ASP.NET中,这个模块叫做HttpHandler(HTTP处理程序组件),之所以aspx文件可以被服务器处理,就是因为在服务器端有默认的HttpHandler专门处理aspx文件。

          IIS将这条请求发送给能够处理这个请求的模块之前,还需要经过一些HttpModule的处理,这些都是系统默认的Modules(用于获取当前应用程序的模块集合)。HTTP请求传到HttpHandler之前要经过不同的HttpModuls处理有4个好处,一是为了一些必需的过程;二是为了安全性;三是为了提高效率;四是为了用户能够在更多的环节上进行控制,增强了用户的控制能力

           HttpModule模块是一个组件,可以注册为ASP.NET请求生命周期的一部分,当处理该组件时,该组件可以读取或更改请求或响应。HttpModule模块通常用于执行需要监视每个请求的特殊任务,如安全或站点统计信息。

3.asp.net运行机制

          (1)当用户第一次访问这个页面时,这个请求首先经过HttpModuls和HttpHandler(HTTP处理程序组件)的处理,而在HttpHandler的处理中,服务器会为用户转到其真正要访问的页面,然后通过ASP Engine来找到这个页面背后的类,并实例化为一个临时对象,在此过程中会触发一系列的事件,其中一部分的事件需要经过对象中的方法处理,之后服务器会将这个处理后的页面移交给Response对象,最后由Response对象将这个页面发送到客户端。

           (2)当用户在这个页面上重新提交一些信息,并继续向服务器发送请求时,因为用户与服务器之间的会话已经建立,同时对应的临时对象也在服务器中建立,所以不用再经过初始化页面的工作,故是按照HttpModuls、HttpHandler直接与临时对象交互然后返回的。

           (3)在处理请求时如果涉及需要调用ASP Cache(即ASP缓存),临时对象将直接从ASP缓存提取信息并返回。

           (4)当用户刷新这个页面时,服务器接收到HTTP请求,发现这个请求先前已经处理过,并将处理结果存储到由一个默认的HttpModule管理的输出缓存中,那么用户就可以直接从这个缓存提取信息并返回,而无须再重新处理一遍。

转载于:https://www.cnblogs.com/jiangxianshen/p/7641265.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值