ASP.NET 性能优化,WebFrom(aspx)项目中常用的一些性能优化
ASP.NET性能优化建议包括以下几点数据库访问性能优化,字符串操作性能优化,禁用调试模式等等,感兴趣的盆友可以参考下。
1、数据库访问性能优化
(1).尽量减少数据库连接,并充分利用每次数据库连接:连接的创建、打开和关闭是有开销的。可以使用连接池
(2).合理使用存储过程:存储过程是存储在服务器端的一组预编译的SQL。使用存储过程可以避免对SQL的多次编译,后续查询可以复用之前的执行计划。另外存储过程可以减少SQL语句网络传输开销
(3).优化SQL语句:这个就太多了,如合理使用索引、视图,避免复杂子查询
2、字符串操作性能优化
(1).使用值类型的ToString()方法
对不同类型进行字符串连接时,会发生装箱操作转化为引用类型再添加到字符串中。装箱操作会在托管堆中分配一个新对象,将原有的值复制到新对象中,代价很高。使用ToString()方法可以避免装箱,从而提高性能
(2).利用StringBuilder类,然后ToString()输出。
3、禁用调试模式
4、只要合适,尽量缓存数据和页面输出
5、不要依赖代码中的异常来控制程序正常流程,异常的开销是很大的,慎用异常。
6、使用Page.IsPostBack避免往返过程的不必要处理
代码如下:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
// 业务逻辑,如读取数据库等操作
// ...
}
}7、如果不使用会话状态,可以禁用它或者设置只读
(1).若要禁用页的会话状态,请将 @ Page 指令中的 EnableSessionState 属性设置为false。例如:
代码如下:<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="DemoWebForm.WebForm1" EnableSessionState="false" %>
(2).注意如果页需要访问会话变量,但不打算创建或修改它们,则将 @ Page 指令中的 EnableSessionState 属性设置为 ReadOnly。代码如下:<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="DemoWebForm.WebForm1" EnableSessionState="ReadOnly" %>8、利用成熟的工具进行性能测试。
看完楼主的帖子,我的心情竟是久久不能平息,受教了 党的好公民,人民的好公仆。。。 浅蹲一个后续,楼主更新踢我一下 水个经验,楼主加油,支持你~ 这评论区卧虎藏龙,个个都是人才! 求个链接 / 教程,楼主好人一生平安~ 来凑个热闹,增加点人气~ 哈哈哈哈笑不活,楼主这脑洞绝了! 理性围观,感觉大家说得都有道理
页:
[1]
2