一、网页设计相关:

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程序编码问题引起的安全漏洞。

 

ASP.NET中怎样才能使自己的代码运行的效率更高的更多相关文章

  1. Spring AOP中的JDK和CGLib动态代理哪个效率更高?

    一.背景 今天有小伙伴面试的时候被问到:Spring AOP中JDK 和 CGLib动态代理哪个效率更高? 二.基本概念 首先,我们知道Spring AOP的底层实现有两种方式:一种是JDK动态代理, ...

  2. “Using 声明”在 C# 7.3 中不可用。请使用 8.0 或更高的语言版本。

    Core3.0升级至3.1时候报错:“Using 声明”在 C# 7.3 中不可用.请使用 8.0 或更高的语言版本. 参照微软文档:https://docs.microsoft.com/zh-cn/ ...

  3. 在类中,调用这个类时,用$this->video_model是不是比每次调用这个类时D('Video')效率更高呢

    在类中,调用这个类时,用$this->video_model是不是比每次调用这个类时D('Video')效率更高呢  

  4. ASP.net中网站访问量统计方法代码(在线人数,本月访问,本日访问,访问流量,累计访问)

    一.建立一个数据表IPStat用于存放用户信息 我在IPStat表中存放的用户信息只包括登录用户的IP(IP_Address),IP来源(IP_Src)和登录时间 (IP_DateTime),些表的信 ...

  5. 20 个让你效率更高的 CSS 代码技巧

    在这里想与你分享一个由各大CSS网站总结推荐的20个有用的规则和实践经验集合.有一些是面向CSS初学者的,有一些知识点是进阶型的.希望每个人通过这篇文章都能学到对自己有用的知识. 1.注意外边距折叠 ...

  6. iOS 中如何监测某段代码运行的时间

    在iOS里面有时间涉及到网络请求,有时间涉及到数据库的查询,我们需要计算该段代码的效率, 以及执行时间方面的问题,为此,可以使用下面方法: double a = CFAbsoluteTimeGetCu ...

  7. 深度揭秘Netty中的FastThreadLocal为什么比ThreadLocal效率更高?

    阅读这篇文章之前,建议先阅读和这篇文章关联的内容. 1. 详细剖析分布式微服务架构下网络通信的底层实现原理(图解) 2. (年薪60W的技巧)工作了5年,你真的理解Netty以及为什么要用吗?(深度干 ...

  8. maven-source 1.3 中不支持注释请使用 -source 5 或更高版本以启用注释

    解决办法:在pom里 加上以下代码 <build> <plugins> <plugin> <groupId>org.apache.maven.plugi ...

  9. 使用maven编译的时候提示 maven-source 1.3 中不支持注释请使用 -source 5 或更高版本以启用注释的错误。

    在编译的模块的pom文件中加上 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins ...

随机推荐

  1. 深入浅出NodeJS——异步I/O

    底层操作系统,异步通过信号量.消息等方式有着广泛的应用. PHP语言从头到尾都是以同步堵塞方式执行,利于程序猿顺序编写业务逻辑. 异步I/O.事件驱动.单线程构成Node的基调. why异步I/O ( ...

  2. winform最小化到托盘

    1.拖取NotifyIcon控件.将该控件的visible设成false. 2.指定NotifyIcon的Icon(很重要,否则最小化后找不到窗口). 3.找到window的SizeChanged事件 ...

  3. linq读书笔记2-查询内存中的对象

    上次我们说到了linq对数组内容的检索,自.net2.0以后,泛型成了很常见的一种应用技术,linq对泛型的检索也提供了完善的支持 如对list类型的支持,范例如下: class Program    ...

  4. PlSql复制角色、权限和添加角色权限

    一.登录你想要复制数据库的用户

  5. 用自动化运维工具解放IT运维

    何谓自动化运维,即在最少的人工干预下,结合运用脚本与第三方工具,保证业务系统7*24小时高效稳定运行.这应该是所有业务系统运维终极目标. 我们对运维的要求通常是: 1.事前预警 在故障出现之前,管理人 ...

  6. php基础之 ->, =>,@,&,::,%符号

    => 是数组成员访问符号 -> 是对象成员访问符号 比如: $array = array("site map"=>"map.php"); // ...

  7. nginx+webpy 出现 upstream timed out

    关于nginx配置webpy应用出现的错误 upstream timed out (: Connection timed out) while reading response header from ...

  8. AJAX防重复提交的办法总结

    最近的维护公司的一个代理商平台的时候,客服人员一直反映说的统计信息的时候有重复数据,平台一直都很正常,这个功能是最近新进的一个实习生同事写的功能,然后就排查问题人所在,发现新的这个模块的AJAX提交数 ...

  9. C# 当前程序所有线程

    using System.Linq; var threads = System.Diagnostics.Process.GetCurrentProcess().Threads;var count = ...

  10. js scroll 教程

    <html><head><script language=javascript>function s(){var c = window.document.body. ...