欢迎来到天天文库
浏览记录
ID:50037258
大小:2.93 MB
页数:40页
时间:2020-03-08
《ASP.NET应用开发与实践 教学课件 作者 刘乃琦 郭小芳 第17章 网站优化 打包与发布.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、本章要求:第17章网站优化、打包与发布ASP.NET缓存概述缓存技术在实际开发中的应用如何打包ASP.NET网站使用IIS浏览ASP.NET网站使用“发布网站”发布ASP.NET网站使用“复制网站”发布ASP.NET网站主要内容1.ASP.NET网站优化2.ASP.NET网站打包3.ASP.NET网站发布第17章网站优化、打包与发布17.1.1ASP.NET缓存概述17.1.2ASP.NET缓存的应用17.1ASP.NET网站优化缓存是指系统或应用程序将频繁使用的数据保存到内存中,当系统或应用程序再次使用时,能够快速获取数据的一种技术。缓存技术是提高Web应用程序开发效
2、率最常用的技术,是生成高性能Web应用程序最重要的因素之一。ASP.NET缓存架构如图17-1所示。图17-1ASP.NET缓存架构图根据图17-1可知,ASP.NET缓存主要分为两大类:网页输出缓存和应用程序数据缓存。网页输出缓存针对ASP.NETPage页面中的HTML进行缓存,是可视化内容对象,例如图片、GridView表格控件、用户控件等;而应用程序数据缓存是针对应用程序内的数据缓存,例如,将DataSet等数据储存到缓存之中,缓存数据是看不见的,并且多个Page页面可以共同访问应用程序的缓存数据。17.1.1ASP.NET缓存概述本节主要通过两个实例演示ASP
3、.NET缓存在实际开发网站中的应用。1.网页输出缓存网页输出缓存是ASP.NET缓存框架的两大类型之一,其目的是针对网页Page来进行缓存,它可细分为:完整网页缓存(FullPageCaching)和页面部分缓存(ParitalPageCaching)。实现网页输出缓存时,通常使用@OutputCache指令实现,该指令可以以声明的方式控制ASP.NET页或页中包含的用户控件的输出缓存策略。@OutputCache指令在ASP.NET页或页包含用户控件的头部声明,其语法格式如下:<%@OutputCacheDuration="#ofseconds"Location="A
4、ny
5、Client
6、Downstream
7、Server
8、None
9、ServerAndClient"Shared="True
10、False"VaryByControl="controlname"VaryByCustom="browser
11、customstring"VaryByHeader="headers"VaryByParam="parametername"%>17.1.2ASP.NET缓存的应用@OutputCache指令各参数及说明如表17-1所示。表17-1@OutputCache指令各参数及说明参数说明Duration页或用户控件进行缓存的时间(以秒为单位)Loc
12、ation指定输出缓存可以使用的场所,默认值为Any。在用户控件中的@OutPutCache指令不支持此属性Shared确定用户控件输出是否可以由多个页共享,默认值为falseVaryByControl该属性使用一个用分号分隔的字符串列表来改变用户控件的部分输出缓存VaryByCustom根据自定义的文本来改变缓存内容VaryByHeader根据HTTP头信息来改变缓冲区内容VaryByParam该属性使用一个用分号分隔的字符串列表来改变使输出缓存发生变化【例17-1】本实例在Web页面中添加用户控件,并分别在Web页面和用户控件中显示当前系统时间。在用户控件中使用@O
13、utputCache指令缓存数据10秒钟。运行本实例,每秒自动刷新页面,会发现页面中显示的日期时间会发生变化,而用户控件在10秒钟内的数据是不会发生变化的。实例运行效果如图17-2所示。图17-2使用@OutputCache指令实现网页输出缓存程序开发步骤如下:(1)新建一个网站,默认主页为Default.aspx。(2)在解决方案管理器上,右键单击网站名称,在弹出的快捷菜单中选择“添加新项”命令,在打开的窗口中选择“Web用户控件”,添加一个名为WebUserControl.ascx的用户控件。(3)在WebUserControl.ascx页面上添加一个Label控件
14、,并添加@OutputCache指令设置缓存,代码如下:<%@OutputCacheDuration="10"VaryByParam="none"%>(4)在WebUserControl.ascx.cs文件中编写如下代码:protectedvoidPage_Load(objectsender,EventArgse){Label1.Text="用户控件时间:"+DateTime.Now.ToString();}(5)在Default.aspx页面中添加一个Label控件,并在HTML代码中加入每秒刷新的声明,通过每秒的更新来观察用户控件的部
此文档下载收益归作者所有