网站大量收购独家精品文档,联系QQ:2885784924

7.Ado.Net对象选择.ppt

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7.Ado.Net对象选择

ASP.Net 性能优化 ChengDu MIS Jin.J.Qin 议 程 1.会话状态的恰当选择 2.Viewstate优化 3.Cache优化 4.控件优化与选择 5.返回多个记录集 6.数据分页优化 7.Ado.Net对象选择 8.数据前绑定 9.存储过程优化,C# Coding优化 1.会话状态的恰当选择 ASP.NET通过将会话状态信息存储在进程、状态服务器或SQL Server数据库中来解决这个问题。 sessionState mode=InProc cookieless=true timeout=20/ sessionState mode=StateServer stateConnectionString=tcpip=myserver:42424 cookieless=false timeout=20 / sessionState mode=sqlserver sqlConnectionString=data source=; userid=sa; password= cookieless=false timeout=20 / 2.Viewstate优化 ViewState是什么 什么地方可以不需要ViewState (1)页面控件 (.ascx) (2)页面不回传给自身。 (3)无需对控件的事件处理。 (4)控件没有动态的或数据绑定的属性值 如何禁用ViewState 单个页面:%@ Page EnableViewState=False % 每个页面:在 web.config 中 Pages EnableViewState=false / 控件:ViewState属性 3.Cache优化 缓存简介 页面缓存 页面整体缓存 局部页面缓存 数据缓存 3.Cache优化 System.Web.Caching :Cache Cache的使用 注意事项: Cache即时更新 Cache时限 指定文件或目录变更,则原Cache项不可用 使用顺序注意项 4.控件优化与选择 Html控件和服务器控件的选择。 数据控件选择优先顺序:Repeater、DataList、DataGrid Ispostpack 默认false.需要产生事件的时候才需设置为true,否者回发即耗资源,用户体验又差 顺便提一下Ajax:优点,缺点 5.返回多个记录集 不要期望GC会在你想象的时间内关掉连接,虽然最终都要销毁对象和关闭边接,尽量减少链接池。 在单个数据库请求中返回多个结果集,可以减少与数据库通信的时间,使你的系统具有扩展性,也可以减少数据库服务器响应请求的工作量。 根据情况将部分业务处理放在SP中(如表间操作非常频繁而业务本身较简单),减少数据库链接、访问次数。 对数据的更新不需要返回结果集,建议使用ExecuteNonQuery 单个值的查询使用ExecuteScalar 6.数据分页优化 Datagrid,又见Datagrid 在web开发中,分页有两种方式: (1)将全部数据取出再分页 (2)只取你想要页的数据。 DataGrid自带分页是第一种方式,在数据记录数不多时,可使用,简便。 如果数据记录过大,比如10W条记录,每页100条,采用第一中方式是否明智?编写分页存储过程取数据是必要的,但是相对开发成本高。 7.Ado.Net对象选择 神通广大的DataSet 独立好用的DataTable 快速简单的DataView 飞速但不断奶的DataReader 8.数据前绑定 %# DataBinder.Eval(Container.DataItem, 字段名) % 用DataBinder.eval 绑定不必关心数据来源(Dataread或dataset)。不必关心数据的类型eval会把这个数据对象转换为一个字符串。在底层绑定做了很多工作,使用了反射性能。正因为使用方便了,但却影响了数据性能。 %#ctype(Container.DataItem,DataRowView).Row(字段名) % 当于dataset绑定时,DataItem其实式一个DataRowView(如果绑定的是一个数据读取器(dataread)它就是一个IdataRecord。)因此直接转换成DataRowView的话,将会给性能带来很大提升。 1.需在页面添加%@ Import namespace=System.Data%. 2.注意字段名的大小写(要特别注意)。 9.存储过程优化,C# Coding优化 参加其它Training 没有最好,只有更好 ~Q A~ THANKS! HA~HA~ * * StateServer :表示状态服务在一台名为myserver的机器的42424端口(默认端口)运行。 要在服务

您可能关注的文档

文档评论(0)

youbika + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档