基于HttpHandler页面静态化.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于HttpHandler页面静态化

基于HttpHandler页面静态化   摘要:HttpHandler是ASP.NET服务器端用于进行Http请求处理的核心容器,开发者可以使用HttpHandler编程处理Http请求,从而丰富了服务器端对Http请求的处理功能。本文通过对HttpHandler实现动态页面静态化来阐述服务器端编码方式处理请求的过程。   关键词:ASP.NET HttpHandler 页面静态化 性能   中图分类号:TP311.1 文献标识码:A 文章编号:1007-9416(2012)01-0050-02      1、引言   ASP.NET是微软推出的一种Web服务器端开发技术,我们在做ASP.NET开发时通常更多的是考虑页面上实现的功能,例如:数据怎么在页面上显示,用户登录该如何实现等。但我们很少考虑在服务器端如何通过编程的方式去处理请求,例如:当客户端请求一个aspx页面时,默认情况下服务器会编译并执行这个动态页面,并将执行结果输出到客户端,这就是一个典型的“请求-响应”的过程。但如果该页涉及到大数据量的数据库查询以及较为复杂的逻辑运算,特别是在该页面并发访问人数较多的情况下,响应时间会大幅度增多,服务器压力也会增加。怎么解决这个问题?我们可以采用动态页面静态化技术解决这个问题。   2、页面静态化的概念   页面静态化即把动态页面转换成静态页面。页面静态化的优势:(1)有利于有哪些信誉好的足球投注网站引擎有哪些信誉好的足球投注网站、(2)没有丢掉动态页面维护内容的方便性、(3)性能和安全方面的提升。早期的有哪些信誉好的足球投注网站引擎并不能很好的检索如*.jsp,*.aspx等的服务器动态页面, 但是对*.html等静态页面却有良好的检索效果,于是就产生了一种“动态页面静态化”的技术,在ASP.NET中就是把用户对同一个aspx页面的不同请求结果保存到不同的html文件中,在以后的对该aspx页面的请求,将调用相应html页面作为对客户端的响应,这样将大大节省服务器端处理时间,以达到快速响应客户端请求的效果。   要想实现动态页面的静态化必须先了解ASP.NET ISAPI的运行机制。   2.1 ASP.NET 请求的处理过程如下   (1)当Http请求提交到服务器端时,IIS 检查所请求的资源类型并调用 ASP.NET ISAPI,步骤如下:1)调用ASP.NET 辅助进程(IIS 6 对应为w3wp.exe);2)辅助进程加载.NET运行时环境;3)ASP.NET ISAPI将请求转发给辅助进程。   (2)辅助进???收到请求,通知ASP.NET ISAPI它将进行处理 。   (3)在辅助进程的上下文中执行处理过程,步骤如下:1)在.NET 运行时环境中执行;2)经HttpModule容器和HttpHandler容器处理。   (4)处理完毕,通知ASP.NET ISAPI完成。在这个处理过程中我们重点关注的是如何通过HttpModule和HttpHandler 来处理Http请求。   2.2 HttpModule和HttpHandler如何处理HTTP请求   当一个HTTP请求经若干个HttpModule容器传递到HttpHandler容器中时,ASP.NET 框架会调用HttpHandler的ProcessRequest成员方法来对这个HTTP请求进行真正的处理。以一个aspx页面为例,正是在这里一个aspx页面才被系统处理解析,并将处理完成的结果继续经由HttpModule传递下去,直至到达客户端。   .NET Framework提供了一组接口和类,允许开发者对于Http请求进行编程,而实现这一操作的一个主要的接口,就是 IHttpHandler(另一个是IHttpModule)。IHttpHandler的定义是这样的:   public interface IHttpHandler{   void ProcessRequest(HttpContext context);   bool IsReusable { get; }   }   可以看出IHttpHandler要求实现一个方法和一个属性。其中 ProcessRequest方法应该放置我们处理请求的主要代码。IsReusable属性:获取一个值,该值指示其他请求是否可以使用 IHttpHandler 实例。也就是说后继的Http请求是不是可以继续使用实现了该接口的类的实例,一般来说,应把它设置成true。Http请求从HttpModule到HttpHandler的过程如图1所示。   3、实现结果及分析   以下以单个产品详细信息页面生成静态页为例,说明HttpHandler在处理Http请求中的应用,使用HttpHandler实现页面静态化的实现步骤。   

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档