web应用程序设计第9章ppt课件

上传人:我*** 文档编号:148528572 上传时间:2020-10-20 格式:PPTX 页数:30 大小:232.21KB
返回 下载 相关 举报
web应用程序设计第9章ppt课件_第1页
第1页 / 共30页
web应用程序设计第9章ppt课件_第2页
第2页 / 共30页
web应用程序设计第9章ppt课件_第3页
第3页 / 共30页
web应用程序设计第9章ppt课件_第4页
第4页 / 共30页
web应用程序设计第9章ppt课件_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《web应用程序设计第9章ppt课件》由会员分享,可在线阅读,更多相关《web应用程序设计第9章ppt课件(30页珍藏版)》请在金锄头文库上搜索。

1、第9章 Web应用的性能调试与优化,如何开发高性能的Web应用系统 跟踪与调试 ASP.NET的缓存对象Cache ASP.NET的输出缓存技术,一、如何开发高性能的Web应用系统,页面设计 数据访问 状态管理 应用程序设计与配置,1、页面设计,必须进行输入验证 慎用自动回发功能,应尽量统一提交 禁用视图状态(节省服务器的处理时间并减少页的大小) 动态添加控件时要灵活使用Page_Init或Page_Load事件函数,以避免对往返行程执行不必要的处理,2、 数据访问,必须进行输入验证,以防止大量的垃圾数据信息最终传送给数据库服务器处理 在用SQL Server存储数据时,建议使用存储过程访问数

2、据。 如果页面只是从数据库中读取数据,应该尽量使用SqlDataReader,而不是DataSet。,3、 状态管理,当不需要会话状态时,可以禁用会话状态功能。 选择适当的会话状态提供程序 进程内会话状态(Session对象来存储用户会话数据,是速度最快的解决方案) 作为Windows服务的进程外会话状态 SQL Server数据库中的进程外会话状态。,4、应用程序设计与配置,尽可能地避免异常的发生,或者尽可能地捕获有可能发生的异常。 预编译Web应用程序。 使用CLR的垃圾回收器自动回收内存。 优化配置文件,保证应用程序的需要即可。 IIS可能因内存泄漏和设计缺陷而导致性能下降,当停止进程或

3、重新加载页面时重新获取数据也会导致性能下降,因此应当平衡定期回收的需求。 通过优化服务器配置,避免存在大量等待处理的请求或线程,确保服务器的吞吐量。,Trace对象概念 TraceContent类的实例,通过Page.Trace属性公开 功能:可跟踪运行过程,既能够在 Web页中显示信息,也能够将信息存储在内存中。 启用页面级跟踪 方法:,二、跟踪与调试 1、 跟踪,启用应用程序级跟踪 在web.config配置文件中添加: 跟踪查看器:http:/服务器名/项目名/trace.axd 举例:例9-1和9-2,二、跟踪与调试 1、 跟踪,9,跟踪设置对跟踪结果显示方式的影响,2、调试,Debu

4、g对象概念 封装于System. Diagnostics中,使用时要注意导入。 只在调试模式下运行,调试信息只在调试器的输出窗口中显示。 启用调试模式 方法:或者在配置文件中添加 在VS中调试Web窗体 设置断点设置启始页开始调试,三、ASP.NET的缓存对象Cache,Cache对象概述 Cache对象的使用方法 缓存策略的设置,1、 Cache对象概述,Cache的作用 Web窗体在首次请求数据项时,将数据缓存在内容,在以后的请求中可直接使用。 通过HttpContext 或 Page 对象的 Cache 属性引用 Cache特点 每一个 Web 应用程序只有一个 Cache 对象,并且不

5、能被其他 Web 应用程序访问; Web 应用程序重启时将创建 Cache 对象; Cache对象使用键/值词典结构存储和检索对象,可替代Application对象,使用Cache的优点 (1) 比每次请求时创建新对象速度快 (2) 支持自动锁定管理 (3) 自动管理缓存资源 (4) 支持回调函数(当移除项时,执行回调函数) (5) 支持基于依赖项的移除,2、Cache对象的使用方法,存储数据 (1)隐式写入:Cache键名=值; 例如:Cachevisitor=Vip User; CachevisitedTime=DateTime.Now; (2)显式写入:Cache.Insert (键名,

6、值); 例如:Cache.Insert (visitor,Vip User); Cache.Insert (visitedTime, DateTime.Now); 检索数据 格式:Cache键名 例如:DateTime time= (DateTime)CachevisitedTime; 注意:该对象在Web窗体中通过Page.Cache即可访问,而在Global.asax中必须通过HttpContext.Current.Cache访问。,例9-3,3、 缓存策略的设置,public void Insert ( string key, /指定缓存项的键名 Object value, /指定缓存项

7、的值 CacheDependency dependencies, /设置缓存依赖项 DateTime absoluteExpiration, /设置绝对过期时间 TimeSpan slidingExpiration, /设置相对过期时间 CacheItemPriority priority, /设置优先级 CacheItemRemovedCallback onRemoveCallback /设置回调函数 ),1)设置缓存依赖项,添加键依赖项 例如:Cache.Insert(A, 第1个缓存项); Cache.Insert(“B”, “第2个缓存项”, new CacheDependency(n

8、ull, new string “A” ); new CacheDependency( string filenames, string cachekeys) 添加文件依赖项 例如:Cache.Insert(link,coll , new CacheDependency(Server.MapPath(link.xml);,1)设置缓存依赖项,添加SQL依赖项 在配置文件中,添加caching元素节点,以定义缓存项所要使用的数据库名称: 创建依赖于数据库表的缓存项。 格式如下: Cache.Insert(键名,数据, new SqlCacheDependency(数据库名, 表名);,添加聚合依

9、赖: 聚合依赖是指一个缓存项与多个其它缓存项、文件或数据库存在依赖关系。 方法1:通过CacheDependency类来添加。 格式:new CacheDependency( string filenames, string cachekeys) 方法2:通过AggregateCacheDependency类来添加。 首先创建聚合依赖对象,然后调用其Add()方法向它添加若干个封装了依赖项的聚合依赖对象,最后传递给Cache.Insert方法。 例9-4,1)设置缓存依赖项,2)设置过期策略,(1)绝对过期时间:使用DateTime来指定 例: Cache.Insert(“key”, valu

10、e, null, DateTime.Now.AddMinutes(30), Cache.NoSlidingExpiration); (2)相对过期时间:使用TimeSpan来设置 例:Cache.Insert(key, value, null, Cache.NoAbsoluteExpiration , new TimeSpan(0,15,0);,3)设置优先级,缓存项的优先级由枚举型CacheItemPriority定义,共6种优先级,按从低到高分别是Low、BelowNormal、Normal、AboveNormal、High、NotRemovable。 例如: Cache.Insert(k

11、ey, value, null, Cache.NoAbsoluteExpiration, Cache.NoSlidingExpiration, CacheItemPriority.High, null);,4)设置回调函数,ASP.NET使用CacheItemRemovedCallback委托来绑定回调处理函数,当删除缓存项时系统会自动调用该回调函数。此外枚举型CacheItemRemovedReason定义了删除缓存项可能的原因。 CacheItemRemovedCallback委托的定义如下: public delegate void CacheItemRemovedCallback( s

12、tring key, Object value, CacheItemRemovedReason reason ) 例9-5,四、ASP.NET的输出缓存技术,1、输出缓存概述 2、输出缓存的使用方法,1、输出缓存概述,输出缓存的工作机制 ASP.NET提供输出缓存功能,允许在服务器内存中存储整个WEB窗体或用户控件。 在首次被请求时,先将整个页面或部分页面存储在内存中,供以后的请求直接使用。直到缓存过期或页面更新 输出缓存的利与弊 好处:避免重建页面,使页面请求响应时间最少 不足:可能消耗大量的内存资源 输出缓存的种类 页面缓存:缓存整个页面 片段缓存:只缓存页面中的用户控件 XML Web

13、Service缓存:缓存函数的运行结果,24,输出缓存的工作原理,2、输出缓存的使用方法,使用OutPutCache指令声明 编程设置输出缓存 设置片断缓存 设置SQL缓存依赖,1)使用OutPutCache指令声明, 例9-6,2)编程设置输出缓存,HttpCachePolicy类 该类通过Response.Cache属性公开,可实现编程设置输出缓存策略。 HttpCachePolicy类的常用属性和方法: VaryByParams 属性:获取影响缓存的参数的列表。 AddValidationCallback方法:用来添加当前响应的回调函数,以确保输出缓存的资源的有效性。 SetExpire

14、s方法:为缓出缓存设置绝对过期日期和时间。 SetSlidingExpiration方法:为缓出缓存设置相对过期时间。 SetVaryByCustom方法:指定一个自定义文本字符串,以此区别缓存的输出响应。 SetValidUntilExpires方法:设置输出缓存有效直到过期。,3)设置片断(控件)缓存,例9-7 步骤: S1:创建用户控件 S2:定义用户控件的公共属性,以公开其数据信息 S3:设计aspx页,以引用用户控件并设置片断缓存策略,同时测试片断缓存,4)设置SQL缓存依赖,通过OutputCache指令的SqlDependency属性即可设置输出缓存所依赖的数据库表。 例如: 其中,“MyDataBase”是在配置文件Web.config的元素节点中设置的数据库的名字。,30,Cache 对象和页输出缓存的区别,Cache:用来存储Web应用程序中页面之间的共享信息 页输出缓存:存储整个页面或页面片段的副本,这些副本对请求同一页面的其他用户是可用的,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号