




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本章要求:第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应用程序开发效率最常用的技术,是生成高性能Web应用程序最重要的因素之一。ASP.NET缓存架构如图17-1所示。图17-1ASP.NET缓存架构图根据图17-1可知,ASP.NET缓存主要分为两大类:网页输出缓存和应用程序数据缓存。网页输出缓存针对ASP.NETPage页面中的HTML进行缓存,是可视化内容对象,例如图片、GridView表格控件、用户控件等;而应用程序数据缓存是针对应用程序内的数据缓存,例如,将DataSet等数据储存到缓存之中,缓存数据是看不见的,并且多个Page页面可以共同访问应用程序的缓存数据。17.1.1ASP.NET缓存概述本节主要通过两个实例演示ASP.NET缓存在实际开发网站中的应用。1.网页输出缓存网页输出缓存是ASP.NET缓存框架的两大类型之一,其目的是针对网页Page来进行缓存,它可细分为:完整网页缓存(FullPageCaching)和页面部分缓存(ParitalPageCaching)。实现网页输出缓存时,通常使用@OutputCache指令实现,该指令可以以声明的方式控制ASP.NET页或页中包含的用户控件的输出缓存策略。@OutputCache指令在ASP.NET页或页包含用户控件的头部声明,其语法格式如下:<%@OutputCacheDuration="#ofseconds"Location="Any|Client|Downstream|Server|None|ServerAndClient"Shared="True|False"VaryByControl="controlname"VaryByCustom="browser|customstring"VaryByHeader="headers"VaryByParam="parametername"%>17.1.2ASP.NET缓存的应用@OutputCache指令各参数及说明如表17-1所示。表17-1 @OutputCache指令各参数及说明参数说明
Duration页或用户控件进行缓存的时间(以秒为单位)
Location指定输出缓存可以使用的场所,默认值为Any。在用户控件中的@OutPutCache指令不支持此属性
Shared确定用户控件输出是否可以由多个页共享,默认值为false
VaryByControl该属性使用一个用分号分隔的字符串列表来改变用户控件的部分输出缓存
VaryByCustom根据自定义的文本来改变缓存内容
VaryByHeader根据HTTP头信息来改变缓冲区内容
VaryByParam该属性使用一个用分号分隔的字符串列表来改变使输出缓存发生变化
【例17-1】本实例在Web页面中添加用户控件,并分别在Web页面和用户控件中显示当前系统时间。在用户控件中使用@OutputCache指令缓存数据10秒钟。运行本实例,每秒自动刷新页面,会发现页面中显示的日期时间会发生变化,而用户控件在10秒钟内的数据是不会发生变化的。实例运行效果如图17-2所示。图17-2使用@OutputCache指令实现网页输出缓存程序开发步骤如下:(1)新建一个网站,默认主页为Default.aspx。(2)在解决方案管理器上,右键单击网站名称,在弹出的快捷菜单中选择“添加新项”命令,在打开的窗口中选择“Web用户控件”,添加一个名为WebUserControl.ascx的用户控件。(3)在WebUserControl.ascx页面上添加一个Label控件,并添加@OutputCache指令设置缓存,代码如下:<%@OutputCacheDuration="10"VaryByParam="none"%>(4)在WebUserControl.ascx.cs文件中编写如下代码:protectedvoidPage_Load(objectsender,EventArgse){Label1.Text="用户控件时间:"+DateTime.Now.ToString();}(5)在Default.aspx页面中添加一个Label控件,并在HTML代码中加入每秒刷新的声明,通过每秒的更新来观察用户控件的部分网页缓存,代码如下:<metahttp-equiv="refresh"content="1;URL=Default.aspx"/>(6)在Default.aspx.cs文件中编写代码以便显示当前系统时间,代码如下:protectedvoidPage_Load(objectsender,EventArgse){Label1.Text="Web页面当前系统时间:"+DateTime.Now.ToString();}
2.应用程序数据缓存应用程序数据缓存提供了一种编程方式,可通过键/值将任意数据存储在内存中,该缓存机制类似于Session。应用程序数据缓存的主要功能是在内存中存储各种与应用程序相关的对象,通常这些对象都需要耗费大量的服务器资源才能创建,因此,对这些对象实施缓存有着明显的益处。在ASP.NET中,可以使用Cache类实现应用程序数据缓存。Cache类提供了简单的字典接口,可以通过该接口使用键/值对的形式,对需要缓存的对象实施缓存,而且通过Cache类还可以设置缓存的有效期、依赖性和优先级等特性。例如,向应用程序数据缓存添加一个新的缓存数据,代码如下:Cache["Key"]=Value;Cache类中的属性及说明如表17-2所示。表17-2 Cache类的属性及说明属性说明Count获取存储在缓存中的项数EffectivePrivateBytesLimit获取可用于缓存的千字节数Item获取或设置指定键处的缓存项Cache类中的方法及说明如表17-3所示。表17-3 @OutputCache指令各参数及说明方法说明Add将指定项添加到Cache对象,该对象具有依赖项、过期和优先级策略以及一个委托Get从Cache对象检索指定项GetEnumerator检索用于循环访问包含在缓存中的键设置及其值的字典枚举数Insert向Cache对象插入项。使用此方法的某一版本改写具有相同key参数的现有Cache项Remove从应用程序的Cache对象移除指定项
【例17-2】本实例演示如何利用Cache类实现应用程序数据缓存管理,包括添加、检索和移除应用程序数据缓存对象的方法。实例运行效果如图17-3所示。图17-3使用Cache类实现应用程序数据缓存程序开发步骤如下:(1)新建一个网站,默认主页为Default.aspx。(2)在Default.aspx页面中添加3个Button按钮,分别用于添加、检索和移除数据缓存信息;添加一个GridView控件,用于显示数据信息;添加两个Label控件,分别用于显示缓存对象的个数和对缓存对象操作的信息。(3)单击“添加”按钮,首先将数据库中的数据表读取到DataSet中,然后,判断缓存中是否存在该数据,如果不存在,则将数据信息添加到缓存中。“添加”按钮的Click事件代码如下:protectedvoidButton3_Click(objectsender,EventArgse){//将数据信息添加到缓存中
SqlConnectionconn=newSqlConnection("Server=MRWXK\\MRWXK;uid=sa;pwd=;database=db_ASPNET");conn.Open();SqlDataAdapterda=newSqlDataAdapter("select*fromtb_mrbccd",conn);DataSetds=newDataSet();da.Fill(ds,"tb_mrbccd");if(Cache["key"]==null){Cache.Insert("key",ds); //添加缓存数据
}this.Label2.Text="";DisplayCacheInfo();}
(4)单击“检索”按钮,从缓存中检索指定的数据信息是否存在,并将检索的结果绑定到GridView控件中。“检索”按钮的Click事件代码如下://检索按钮,用于从缓存中检索指定的数据信息是否存在protectedvoidButton2_Click(objectsender,EventArgse){if(Cache["key"]!=null){this.Label2.Text="已检索到缓存中包括该数据!";this.GridView1.DataSource=(DataSet)Cache["key"]; //获取缓存数据
this.GridView1.DataBind();}else{this.Label2.Text="未检索到缓存中包括该数据!";this.GridView1.DataSource=null;this.GridView1.DataBind();}DisplayCacheInfo();}
(5)单击“移除”按钮,首先从缓存中判断指定的数据信息是否存在,如果存在,则从缓存中将指定的数据信息移除,“移除”按钮的Click事件代码如下://移除按钮,用于从缓存中移除指定的数据信息protectedvoidButton1_Click(objectsender,EventArgse){if(Cache["key"]==null){this.Label2.Text="未缓存该数据,无法删除!";}else{Cache.Remove("key"); //移除缓存数据
this.Label2.Text="删除成功!";}if(Cache["key"]==null){this.GridView1.DataSource=null;this.GridView1.DataBind();}DisplayCacheInfo();}
17.2ASP.NET网站打包
VisualStudio2010开发环境中自带了网站打包功能,通过该功能,开发人员可以将已经完成的网站打包成安装文件,这样客户只需双击安装文件,按步骤即可完成网站的安装过程。使用VisualStudio2010开发环境打包ASP.NET网站的步骤如下:(1)选中要打包的ASP.NET网站所属的解决方案,单击右键,在弹出的快捷菜单中依次选择“添加”/“新建项目”选项,如图17-4所示。图17-4选择“添加”/“新建项目”选项(2)弹出如图17-5所示的“添加新项目”对话框,该对话框中展开“其他项目类型”下的“安装和部署”节点,选中“VisualStudioInstaller”,然后选中“安装项目”,并输入安装程序的名称和路径。图17-5“添加新项目”对话框(3)单击“确定”按钮,即可新建一个ASP.NET网站打包项目,如图17-6所示。图17-6新建的ASP.NET网站打包项目(4)选中“应用程序文件夹”,单击右键,依次选择“添加”/“项目输出”选项,如图17-7所示。图17-7选择“添加”/“项目输出”选项说明:
在图17-7所示的快捷菜单中,可以通过选择“添加”/“文件”选项添加网站中用到的一些配置文件及数据文件等,比如数据库文件。(5)弹出如图17-8所示的“添加项目输出组”对话框,该对话框中可以选择要添加的项目输出文件。图17-8“添加项目输出组”对话框(6)单击“确定”按钮,即可将网站的项目输出文件添加到网站打包项目中。在“解决方案资源管理器”中选中打包项目,单击右键,选择“属性”选项,弹出项目的属性页对话框,该对话框中可以对ASP.NET网站打包项目的输出文件名和包文件所在位置进行设置,如图17-9所示。图17-9Setup属性页(7)在Setup属性页中单击“系统必备”按钮,弹出“系统必备”对话框,该对话框中可以设置ASP.NET网站所需的必备组件及组件的存放位置,如图17-10所示。这里选中“从与我的应用程序相同的位置下载系统必备组件”单选按钮,表示在生成ASP.NET打包项目时,会自动将.NETFramework4.0框架打包到安装文件中。图17-10“系统必备”对话框(8)在解决方案资源管理器中选中ASP.NET网站打包项目,单击右键,在弹出的快捷菜单中选择“生成”选项,即可生成ASP.NET网站的安装程序,如图17-11所示。图17-11选择“生成”选项(9)生成的ASP.NET网站安装文件如图17-12所示,这时客户只需双击.exe文件或者.msi文件,即可按照向导完成ASP.NET网站的安装过程。图17-12生成的ASP.NET网站安装文件说明:使用VisualStudio2010开发环境自带的打包工具打包完程序之后,会生成两个安装文件,分别为.exe文件和.msi文件,其中,.msi文件是Windowsinstaller开发出来的程序安装文件,它可以让用户安装、修改和卸载所安装的程序,也就是说,.msi文件是WindowsInstaller的数据包,它把所有和安装文件相关的内容都封装在了一个包里;而.exe文件是生成.msi文件时附带的一个文件,它实质上是调用.msi的文件进行安装。因此,.msi文件是必须有的,而.exe文件可有可无。17.3ASP.NET网站发布17.3.1使用IIS浏览ASP.NET网站17.3.2使用“发布网站”发布ASP.NET网站17.3.3使用“复制网站”发布ASP.NET网站17.3.1使用IIS浏览ASP.NET网站使用IIS浏览ASP.NET网站的步骤如下:(1)依次选择“控制面板”/“系统和安全”/“管理工具”/“Internet信息服务(IIS)管理器”选项,弹出“Internet信息服务(IIS)管理器”窗口,如图17-13所示。图17-13“Internet信息服务(IIS)管理器”窗口(2)展开网站节点,选中“DefaultWebSite”节点,在右侧“属性”列表中单击“基本设置”超链接,弹出“编辑网站”对话框,如图17-14所示。图17-14“编辑网站”对话框(3)单击“…”按钮,选择网站文件夹所在路径;单击“选择”按钮,弹出“选择应用程序池”对话框,如图17-15所示,该对话框中选择DefaultAppPool,单击“确定”按钮,返回“编辑网站”对话框,单击“确定”按钮,即可完成网站路径的选择。图17-15“选择应用程序池”对话框(4)在“Internet信息服务(IIS)管理器”窗口中单击“内容视图”,切换到“内容视图”页面,如图17-17所示,在该对话框中间的列表中选中要浏览的ASP.NET网页(例如,这里选择Login.aspx),单击右键,在弹出的快捷菜单中选择“浏览”菜单项,即可浏览选中的ASP.NET网页。图17-17“内容视图”页面17.3.2使用“发布网站”发布ASP.NET网站使用“发布网站”功能发布ASP.NET网站的步骤如下:(1)在VisualStudio2010开发环境的解决方案资源管理器中选中当前网站,单击右键,在弹出的快捷菜单中选择“发布网站”选项,如图17-18所示。图17-18选择“发布网站”选项(2)弹出如图17-19所示的“发布网站”对话框,该对话框中可以选择网站发布的目标位置等信息。图17-19“发布网站”对话框(3)单击“…”按钮,弹出如图17-20所示的“发布网站——文件系统”对话框,该对话框中提供了4个网站发布的目标位置,分别是“文件系统”、“本地IIS”、“FTP站点”和“远程站点”,默认为文件系统。图17-20“发布网站——文件系统”对话框(4)单击“本地IIS”按钮,切换到“发布网站——本地InternetInformationServer”对话框,如图17-21所示,该对话框中可以选择要发布到的本地IIS站点。图17-21“发布网站——本地InternetInformationServer”对话框(5)单击“FTP站点”按钮,切换到“发布网站——FTP站点”对话框,如图17-22所示,该对话框中可以选择要发布到的FTP站点。图17-22“发布网站——FTP站点”对话框(6)单击“远程站点”按钮,切换到“发布网站——远程站点”对话框,如图17-23所示,该对话框中可以选择要发布到的远程Internet站点。图17-23“发布网站——远程站点”对话框(7)选择完网站发布的位置后,单击“打开”按钮,返回如图17-19所示的“发布网站”对话框,单击“确定”按钮,即可将ASP.NET网站发布到指定的位置,发布完成的ASP.NET网站文件如图17-24所示。图17-24发布完成的ASP.NET网站文件17.3.3使用“复制网站”发布ASP.NET网站使用“复制网站”功能发布ASP.NET网站的步骤如下:(1)在VisualStudio2010开发环境的解决方案资源管理器中选中当前网站,单击右键,在弹出的快捷菜单中选择“复制网站”选项,如图17-25所示。图17-25选择“复制网站”选项(2)在VisualStudio2010开发环境中出现如图17-26所示的“复制网站”选项卡,在该选项卡中单击“连接”按钮,选择要将网站复制到的位置。图17-26“复制网站”选项卡说明:单击“连接”按钮后,会出现与图17-19类似的对话框,读者可以参考17.3.2节中的步骤(3)到步骤(6)来设置要将网站复制到的位置。(3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《缆车》(教案)-2024-2025学年人音版(五线谱)音乐五年级上册
- 2025年生物质碳化专用炉项目合作计划书
- 宁夏电力投资集团招聘考试真题2024
- 河南郑州轻工业大学招聘考试真题2024
- 第8课《土地的誓言》教学设计 2023-2024学年统编版语文七年级下册
- 2024年宝应县招聘事业单位工作人员笔试真题
- Unit 2 My schoolbag Part B(教学设计)-2024-2025学年人教PEP版英语四年级上册
- 《除法》教学设计-2024-2025学年三年级上册数学北京版
- 《紫藤萝瀑布》《一棵小桃树》群文教学设计 2023-2024学年统编版语文七年级下册
- 学校节能减排的实施策略与方案
- 2025上半年贵州成黔企业(集团)有限公司招聘管理人员20人笔试参考题库附带答案详解
- 湖北省武汉市2025届高三下学期二月调研考试数学试卷
- 2025年志愿服务知识竞赛考试题(附答案)
- 上海市徐汇区上海中学2024-2025学年高一下学期3月月考地理试题(含答案)
- 2025年热电厂面试题及答案
- 春季中医药养生保健知识讲座课件
- 2025年淮南职业技术学院单招职业适应性测试题库及参考答案
- 2025年新人教版八年级下册物理全册教案
- 2025年中国流行成分和原料消费深度洞察白皮书
- 2024CSCO免疫检查点抑制剂相关的毒性管理指南
- 2024年河南水利与环境职业学院高职单招职业技能测验历年参考题库(频考版)含答案解析
评论
0/150
提交评论