- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第16章 缓存与异步访问 缓存技术是指在内存中存储那些需要频繁操作和访问的数据,以提高应用的性能。在ASP.NET中可能最影响速度的操作就是访问数据库。首先需要与数据库连接、打开数据表关查询数据、向客户端返回数据,这些操作将会显著的影响服务器端的性能。对于一些更新不频繁或者是数据量很大的操作,频繁的操作会导致消耗大量服务器资源,最好的方法是使用缓存来提高应用程序的性能。 16.1 理解ASP.NET缓存技术 很多开发人员排斥或及少使用缓存,认为缓存只是一种装饰,这是一种错误的见解。灵活的使用缓存能有效的提高应用程序的性能,ASP.NET提供了大量的缓存API和多种缓存机制,级大的简化了创建灵活缓存的复杂性。 ASP.NET中具有两种类型的缓存机制,一种是输出缓存,一种是应用程序缓存。 输出缓存(Output caching):输出缓存是一种简单的缓存机制,它将输出到客户端的HTML页面进行缓存,当其他用户继续请求页面时,服务器端将直接从内存中取出缓存的页面,而不用历经一遍的ASP.NET的页面生存周期。页输出缓存对于那些不经常更改,但需要大量处理才能创建的页特别有用。例如,如果创建大通信量的网页来显示不需要频繁更新的数据,页输出缓存则可以极大地提高该页的性能。 数据缓存(Data caching):又称应用程序缓存,这种类型的缓存需要手工编写程序代码来实现,比如可以可以将动态生成的DataSet对象添加到一个缓存对象中,后继的用户使用该对象时,可以判断缓存中是否存在缓存的对象,如果存在则直接使用缓存对象否则创建一个全新的对象并进行缓存。 16.2 输出缓存 输出缓存将缓存最终输出的HTML内容,当用户再次请求相同的页面时,页面将不会重新经过页面生命周期重新创建一次。从理论上来说,输出缓存能够提供最大的性能增强。 16.2.1 定义输出缓存 输出缓存将缓存最终输出的HTML内容,当用户再次请求相同的页面时,页面将不会重新经过页面生命周期重新创建一次。从理论上来说,输出缓存能够提供最大的性能增强。 新建一个名为CachingDemo的网站,然后创建一个PageCaching.aspx的网页,在PageCaching页面上放置一个Label控件和一个Button控件,在Page_Load事件中添加如下的程序代码。 protected void Page_Load(object sender, EventArgs e) { lblDate.Text = 现在的时间是br/ + DateTime.Now.ToString(); } 16.2.2 查询字符串缓存 使用VaryByParam属性可以缓存指定查询字段串的页面,可能的值包括“none”、“*”以及任何有效的查询字符串或POST参数名。 在一些场合下,使用VaryByParam非常有必要。比如一般企业应用系统的产品信息表,这个表只在特定情况下才发生变化,但是在很多场合都需要查看该表,比如销售、财务、生产模块等模块都要有能够查看产品细节的功能。通常创建一个主从式页面,在主页面中显示产品编码,而从页面显示产品信息。借助于VaryByParam属性,可以对指定查询字符串变量的不同页面进行缓存。 VaryByParam属性设置为none时,表示不根据查询字符串缓存,通常用于静态页面中。 *则表示可根据任何查询字符串缓存。通常为VaryByParam指定一个特定的查询字符串,如果要指定多个查询字符串则使用分号分隔的字符串,比如“ProductID;CategoryID”。 16.2.3 自定义缓存 当保存一个页面的多个版本时,除了使用查询字符串之外,也可以使用VaryByCustom来创建自定义的缓存,开发人员可以在VaryByCustom指定自定义的字符串,然后编写代码检查VaryByCustomer的值,根据指定的值来决定是否要缓存一个新版本。 比如要跟据浏览器的不同版本来缓存页面,这样让IE可以接收特定于IE的缓存页面,而Firefox则可以使用Firefox优化过的页面。下面的代码在MasterProducts.aspx页面上添加一个自定义缓存设置,代码如下所示: %@ Page Language=C# AutoEventWireup=true CodeFile=MasterProducts.aspx.cs Inherits=MasterProducts % 16.2.4 用户控件缓存 一些网页通常不需要缓存整页,此时可以考虑将需要缓存的部分创建为用户控件,在用户控件中设置缓存。下面创建一个ProductsList的用户控件,在该用户控件中放置一个DropDownList控件绑定到Products数据表的ProductName属性
您可能关注的文档
- 第七章 WBZ-500H微机变压器保护说明书.pdf
- 第七章 WCDMA常见缩略语.pdf
- 第13讲 天正建筑绘制立面图.doc
- 第13讲-20120611.ppt
- 第七章 WCDMA基站培训.ppt
- 第13讲国际贸易合同的基本条款.ppt
- 第13讲溶液体系热力学.ppt
- 第七章 WCDMA网络寻呼优化.pdf
- 第13篇 VBA数据库编程.ppt
- 第七章 WCN300ma中文 操作指南.pdf
- 北师大版小学数学三年级上册《寄书》教学设计.docx
- 统编版(部编版)语文二年级上册《雪孩子》教学设计.docx
- 统编版(部编版)语文二年级上册《八角楼上》教学设计.docx
- 北师大版小学数学三年级上册《长方形周长》教学设计.docx
- 北师大版小学数学三年级上册《丰收了》教学设计.docx
- 统编版(部编版)语文二年级上册《夜宿山寺》教学设计.docx
- 统编版(部编版)语文二年级上册《风娃娃》教学设计.docx
- 统编版(部编版)语文二年级上册《朱德的扁担》教学设计.docx
- 统编版(部编版)语文二年级上册《难忘的泼水节》教学设计.docx
- 统编版(部编版)语文二年级上册《纸船和风筝》教学设计.docx
最近下载
- 成套简历几何简约个人简历word简历模板.pdf VIP
- (新统编版)语文六年级上册 第三单元 大单元教学设计.docx
- 《盘扣制作》-精选·课件.ppt
- BP85224DA参考设计_ 5V200mA buck/正电压/晶丰明源家电电源.pdf
- 食管裂孔疝诊断治疗指南.doc
- BP85256D参考设计_12V300mA 晶丰明源家电电源.pdf
- 现代服务业劳动(教案) 六年级上册劳动鲁科版.pdf
- 2021年XX市委党校组工干部培训班学习心得体会.doc VIP
- 天津市第二十五中学2024-2025学年高三上学期第一次月考物理试卷.docx VIP
- 中国LNG加气站行业市场现状及发展前景分析-预计2025年市场保有量将超7700座.docx
文档评论(0)