ASP.NET中怎样才能使自己的代码运行的效率更高
一、网页设计相关:
1,做好页面布局和内容规划,只放置合适的内容,并尽可能使页面设计的最小。
2,使用好的网页编辑器,如DW,FP,不要用VS自带的编辑器,因为它会产生很多无用的沉余代码,而且设计的界面也不是很好看。
3,小图片采用GIF格式,下载速度最快,大一点的采用jpg,占用磁盘空间小。
4,尽可能使用CSS,这既是原则也是方法,可以使整个网站浏览速度提高3%以上,有的甚至能够提高30% 。
5,尽量不要使用框架,在需要的地方也要有替代措施。
6,不要只针对IE写客户端脚本。
7,客户端的事情尽量在客户端处理。现在客户端设备已经很强了,许多原来在服务器端才能做的事情现在都能在客户端做,而服务器端反而成了访问的瓶颈。
8,少用Flash。Flash一般都会占较大的网络带宽,在需要的时候也要注意不要做得太大用的太多。
9, 避免使用弹出式对话框,因为现在好多浏览器都被装上了“弹出窗口拦截”插件。说服用户解决这个问题有时是很恼火的,因为他们不是都能熟练的使用计算机。
二、.NET设计相关
1,能用Label的地方不用TextBox,因为Label比起TextBox来说是轻量级的控件。
2,尽量使用Repeater 控件绑定列表数据,有两个原因,一是可以保留美工原始的界面设计效果,二是比起DataGrid控件,性能可以提升70%(有专门的测试案例)。
3,如果页面仅仅是浏览不用回送服务器端继续处理,那么不要使用页面视图ViewState。如果一个界面上有很多控件那么视图将会占去一半的页面大小。其他情况也要尽量少用页面视图。
4,采用缓存技术。从缓存位置可以分为客户端缓存、代理缓存、服务器端缓存;从具体页面来说可以分为整页缓存、局部缓存、数据缓存。缓存技术可以极大地提高Web服务器的处理能力,是最经济有效的提高访问速度的措施。
5,静态页面生成技术。如果采用缓存不能起到很好的作用那么可以将经常访问的页面生成静态页面。像三大门户网站都采用了这个技术,很多CMS也都采用了该技术。
6,服务器处理数据,客户端负责展现。把客户端的事件放到服务器端去处理在互联网上不是好注意,不能想象这是一个企业内部的Web应用程序。
7, 少用Session。如果要在页面之间传递参数,可以采用URL方式或者页面视图方式,如果是跨页面的数据传递,那么也最好使用Cookie 。Web访 问的特点决定了这个多用户并发访问环境,Session会占用很多服务器资源,如果访问量很大这个资源占用是很高的。
8,合理使用Application 。不同于缓存对象,它能够提供更好的全局数据访问,适合于需要长时间缓存频繁的公共数据。
9,注意Cookie 问题,有的浏览器可能不支持使用Cookie 访问你的站点,在使用Cookie 之前一定要检测客户端是否支持并采用相应的策略。
10, 只访问需要的数据,现在Ajax技术可以很好的处理这类问题,它让页面处理速度更快表现力更丰富。
三、数据访问相关
1,优化数据库结构设计。这是数据访问效率和编程复杂程度的关键。没有良好的数据库结构设计其它都谈不上。包括字段类型的选择,表的结构,索引的使用,表的关系等。
2,优化数据库物理设计。这里关注的是数据库容量,日志,磁盘使用,数据备份机制,数据访问机制,安全等数据库物理结构相关的问题。
3,合理设计“主键”:在不同的场合需要采用不同的主键设计策略,在互联网大容量并发访问的环境中,建议主键采用整形自增字段。主键使用还应该遵循“无意义”原则。
4,采用最佳的数据访问接口,如专门针对SQL Server的数据访问对象。
5,“只要需要的数据”:如果一行有大容量字段,那么读取一整行效率是非常低的(数据瓶颈)。
6,最迟打开,最早关闭的原则。使用数据库后一定要及时关闭连接,它们是系统昂贵的资源。
7,采用“数据缓存”技术,将经常使用数据集缓存在磁盘或者内存中,尽量减少对数据库的直接访问。
8, 使用存储过程。可能在一般的应用系统中存储过程可以被简单的查询替代,因而更“通用”,但是我们现在讨论的是大型企业信息门户网站的问题。作为一个互联网 应用系统,处理速度和网络带宽无疑是最重要的。系统的瓶颈往往是磁盘IO和网络IO,合理使用存储过程使得分布式系统结构效率大大提升。但也要注意合理使 用,比如避免一般的分页过程,由于查询会有很多,使得这样的存储过程太多而管理混乱。
9,慎用游标。数据库的游标执行效率一般都比较低,一般都可以使用复杂的查询语句代替,合理的数据库结构设计也可以避免这个问题。
10,合理使用触发器。大部分人觉得触发器使得数据关系不明确,即屏蔽了数据的关系,但是当一个系统非常复杂的时候,数据关系更是复杂,这时候使用触发器来维护数据的一致性和数据同步的功能,可以有效地屏蔽数据关系的复杂性,减少程序代码。
11,合理使用事务:如果不是需要连续处理的或者需要特别安全的数据处理,不要使用事务,因为事务的使用会影响数据库的并发性能。单纯的查询过程也使用事务更不可取。
12,安全的数据访问:目前十分常见SQL注入式攻击,需要注意数据库系统安全设置和Web程序编码问题引起的安全漏洞。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。