198366809 发表于 2021-10-5 15:26:35

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、利用成熟的工具进行性能测试。





845271037 发表于 2021-10-5 15:26:35

看完楼主的帖子,我的心情竟是久久不能平息,受教了

在人间 发表于 2021-10-5 17:53:46

党的好公民,人民的好公仆。。。

大超哥 发表于 2025-11-14 10:36:09

浅蹲一个后续,楼主更新踢我一下

xwy814156134 发表于 2025-11-14 11:01:02

水个经验,楼主加油,支持你~

198366809 发表于 2025-11-14 11:14:26

这评论区卧虎藏龙,个个都是人才!

三道铺 发表于 2025-11-14 11:28:49

求个链接 / 教程,楼主好人一生平安~

luorun586786 发表于 2025-11-14 14:07:38

来凑个热闹,增加点人气~

公子小白 发表于 2025-11-14 16:34:06

哈哈哈哈笑不活,楼主这脑洞绝了!

寒迅 发表于 2025-11-14 16:54:16

理性围观,感觉大家说得都有道理
页: [1] 2
查看完整版本: ASP.NET 性能优化,WebFrom(aspx)项目中常用的一些性能优化