Asp.NET中常用的一些优化性能的方法

原创 2004年10月24日 23:00:00
ASP.NET 的缓存机制相比ASP有很大的改进,本文档除对常用优化方法进行总结介绍外,强调了如何使用ASP.NET的缓存来获得最佳性能。

1:不要使用不必要的session
和ASP中一样,在不必要的时候不要使用Session。

可以针对整个应用程序或者页面禁用会话状态:

l         禁用页面的会话状态


l         禁用应用程序的会话状态

在应用程序的Web.Config文件的sessionstate配置节中,将mode属性设置为off。

即:。



2:不使用不必要的Server Control
ASP.net中,大量的服务器端控件方便了程序开发,但也可能带来性能的损失,因为用户每操作一次服务器端控件,就产生一次与服务器端的往返过程。因此,非必要,应当少使用Server Control。



3:不使用不必要的ViewState
默认情况下,ASP.Net对所有的Server Control都启用了ViewState(视图状态)。但ViewState需要在客户端保存一些信息,这会造成性能的消耗。当必须使用Server Control时,可以考虑禁止ViewState。

有两种方式禁止ViewState:针对整个页面或者单个控件禁用ViewState。

l         针对控件


l         针对页面


4:不要用Exception控制程序流程
有些程序员可能会使用异常来实现一些流程控制。例如:



try{

   result=100/num;

}

Catch(Exception e)

{

   result=0;

}

但实际上,Exception是非常消耗系统性能的。除非必要,不应当使用异常控制来实现程序流程。

上面的代码应当写为:



if(num!=0)

   result=100/num;

else

   result=0;

5:禁用VB和Jscript动态数据类型
应当始终显示地申明变量数据类型,这能够节约程序的执行时间。为此,可以在页面前面写明:

6:使用存储过程完成数据访问
7:只读数据访问不要使用DataSet。
DataSet作为一个功能强大的、支持离线的数据库,其对性能的开销也相对较大。在特定的场合可以使用.Net中的其它数据集作为替代。

n         使用SqlDataReader代替DataSet;

n         SqlDataReader是read-only,forward-only。

8:关闭ASP.NET的Debug模式
为了方便开发调试,VS.net中对于Debug模式默认是开启的,在部署应用程序时,应该关闭Debug模式,这将有效提高应用程序性能。

9:使用ASP.Net Output Cache缓冲数据;
提供缓冲功能是ASP.net中非常强大的一种功能。曾看到过某些评测说:ASP.net程序的性能比SUN的JSP应用程序性能快上几倍,实际上,该评测程序非常重要的一点就是使用了很多ASP.net的缓冲功能。

ASP.net中常用的缓冲方式有:

n         页面缓冲

一个例子:查询北京市的天气。因为天气数据在一定的时间内是相对规定的。

当Web程序中第一次查询北京市的天气时,应用程序可能是调用一个远程的WebService获取天气信息。而其后的用户就可以从缓冲中得到当前的天气信息。这将大大提高性能,减少服务器的压力。

方式:

u       :指明页面使用缓冲

u       Duration:控制缓冲有效的时间,单位为分钟。

u       VaryByParam:用于指明是否缓冲的判断依据。例如,如果第一个用户查询的是北京的天气,则缓冲中存储了北京市的天气。当第二个用户查询上海的天气时,为避免读取到错误的缓冲,可以用这样的代码缓冲多个城市的天气:


这就指明了根据页面URL中的cityName参数来缓冲多份数据。

n         片断缓冲

在ASP.net中,除了在页面范围内使用缓冲,也还可以针对User Control使用Output Cache参数实现对用户控件的缓冲。同样的,一个页面中相同类型的控件也可以有多个不同的缓冲。可以根据参数来实现不同的缓冲。

例如:对于控件可以根据Control 的C属性的不同实现不同的缓冲。



n         数据缓冲



n         缓冲的过期依赖条件

某种意义上,Cache和Application是一样的,都是一种公有的对象。为了取得缓冲与数据有效性之间的平衡,可以根据需要对缓冲过期策略进行合理的设置。

u       文件依赖

Cache.Insert (“Mydata”, Source

                           , New CacheDependency(Server.MapPath(“authors.xml”)))

此代码的含义是当authors.xml文件不发生变化的时候,缓冲MyData始终有效。



u       时间依赖

设定1小时后过期,这是一种绝对过期。

Cache.Insert(“Mydata”,Source,null

                          ,DateTime.Now.AddHours(1),TimeSpan.Zero);



u       相对过期依赖

当DataSet不再发生变化20分钟以后,缓冲过期。

Cache.Insert(“MyData”,Source,null

                        ,DateTime.MaxValue,TimeSpan.FromMinutes(20));
版权声明:本文为博主原创文章,未经博主允许不得转载。

asp.net中常用的优化性能方法

1. 数据库访问性能优化   数据库的连接和关闭   访问数据库资源需要创建连接、打开连接和关闭连接几个操作。这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源。ASP.NET中提供了...
  • slove_cao
  • slove_cao
  • 2007年08月01日 11:41
  • 290

ASP.NET中常用的优化性能方法

1. 数据库访问性能优化   数据库的连接和关闭   访问数据库资源需要创建连接、打开连接和关闭连接几个操作。这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源。ASP.NET中提供了...
  • Hank_Huang
  • Hank_Huang
  • 2006年08月28日 23:25
  • 3603

ASP.NET中常用的优化性能方法

1. 数据库访问性能优化   数据库的连接和关闭   访问数据库资源需要创建连接、打开连接和关闭连接几个操作。这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源。ASP.NET中提供了...
  • peter824
  • peter824
  • 2007年01月18日 18:08
  • 1344

Asp.NET中常用的一些优化性能的方法

ASP.NET 的缓存机制相比ASP有很大的改进,本文档除对常用优化方法进行总结介绍外,强调了如何使用ASP.NET的缓存来获得最佳性能。1:不要使用不必要的session和ASP中一样,在不必要的时...
  • jxufewbt
  • jxufewbt
  • 2007年05月07日 16:43
  • 473

你有哪些性能优化的方法?

你有哪些性能优化的方法?   (1) 减少http请求次数:CSS Sprites, JS、CSS源码压缩、图片大小控制合适;网页Gzip,CDN托管,data缓存,图片服务器。     (2)...
  • zxxvip
  • zxxvip
  • 2017年06月16日 00:38
  • 787

常见的web性能优化方法

前端是庞大的,包括 HTML、 CSS、 Javascript、Image 、Flash等等各种各样的资源。前端优化是复杂的,针对方方面面的资源都有不同的方式。那么,前端优化的目的是什么 ?   1....
  • daimomo000
  • daimomo000
  • 2017年06月07日 10:54
  • 433

常见的几种优化方法

常见的几种最优化方法 1. 梯度下降法(Gradient Descent)   梯度下降法是最早最简单,也是最为常用的最优化方法。梯度下降法实现简单,当目标函数...
  • u012684062
  • u012684062
  • 2016年12月12日 11:27
  • 1130

深度学习中优化方法总结

最近在看Google的Deep Learning一书,看到优化方法那一部分,正巧之前用tensorflow也是对那些优化方法一知半解的,所以看完后就整理了下放上来,主要是一阶的梯度法,包括SGD, M...
  • yas12345678
  • yas12345678
  • 2017年01月03日 12:51
  • 1056

mysql优化的常用方法

最近,在使用Mysql的时候,遇到一些查询优化问题,自己查阅资料,并顺带整理了一下。 Mysql的优化,大体可以分为三部分:索引的优化,sql语句的优化,表的优化 1.索引的优化 ...
  • seudongnan
  • seudongnan
  • 2017年02月25日 18:05
  • 1513

几种常用的优化方法

1. 前言 熟悉机器学习的童鞋都知道,优化方法是其中一个非常重要的话题,最常见的情形就是利用目标函数的导数通过多次迭代来求解无约束最优化问题。实现简单,coding 方便,是训练模型的必备利器之一。...
  • u014568921
  • u014568921
  • 2015年06月17日 15:10
  • 4995
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Asp.NET中常用的一些优化性能的方法
举报原因:
原因补充:

(最多只允许输入30个字)