ASP.NET性能优化八条建议

 更新时间:2013年01月06日 14:53:03   作者:  
ASP.NET性能优化建议包括以下几点数据库访问性能优化,字符串操作性能优化,禁用调试模式等等,感兴趣的盆友可以参考下
1、数据库访问性能优化
A、尽量减少数据库连接,并充分利用每次数据库连接:连接的创建、打开和关闭是有开销的。可以使用连接池
B、合理使用存储过程:存储过程是存储在服务器端的一组预编译的SQL。使用存储过程可以避免对SQL的多次编译,后续查询可以复用之前的执行计划。另外存储过程可以减少SQL语句网络传输开销
C、优化SQL语句:这个就太多了,如合理使用索引、视图,避免复杂子查询
2、字符串操作性能优化
A、使用值类型的ToString()方法
对不同类型进行 + 连接时,会发生装箱操作转化为引用类型再添加到字符串中。装箱操作会在托管堆中分配一个新对象,将原有的值复制到新对象中,代价很高。使用ToString()方法可以避免装箱,从而提高性能
B、利用StringBuilder类
3、禁用调试模式
4、只要合适,尽量缓存数据和页面输出
5、不要依赖代码中的异常来控制程序正常流程
异常的开销是很大的。所以慎用异常。
6、使用Page.IsPostBack避免往返过程的不必要处理
复制代码 代码如下:

void Page_Load(Object sender, EventArgs e) // Set up a connection and command
{
if (!Page.IsPostBack) // 第一次加载时才填充数据
{
String query = "select * from Authors where FirstName like '%JUSTIN%'";
myCommand.Fill(ds, "Authors");
myDataGrid.DataBind();
}
}

7、如果不使用会话状态,可以禁用它或者设置只读
A、若要禁用页的会话状态,请将 @ Page 指令中的 EnableSessionState 属性设置为false。例如:
复制代码 代码如下:

<%@ Page EnableSessionState="false" %>

B、注意如果页需要访问会话变量,但不打算创建或修改它们,则将 @ Page 指令中的 EnableSessionState 属性设置为 ReadOnly。
8、利用成熟的工具进行性能测试

相关文章

  • 用ASP.NET还原与恢复Sql server

    用ASP.NET还原与恢复Sql server

    用ASP.NET还原与恢复Sql server...
    2006-09-09
  • asp.net TemplateField模板中的Bind方法和Eval方法

    asp.net TemplateField模板中的Bind方法和Eval方法

    在TemplateField模板中为了能够有限制的或者取出数据库中某列的值时,可以用Bind和Eval方法来实现。以下是Bind方法的格式,Eval的格式也是和Bind一样的。 Bind("列的名称","显示的格式文")
    2009-06-06
  • 教你30分钟通过Kong实现.NET网关

    教你30分钟通过Kong实现.NET网关

    Kong是一个Openrestry程序,而Openrestry运行在Nginx上,用Lua扩展了nginx。所以可以认为Kong = Openrestry + nginx + lua,这篇文章主要介绍了30分钟通过Kong实现.NET网关,需要的朋友可以参考下
    2021-11-11
  • .net开发中几个重要的认识误区小结

    .net开发中几个重要的认识误区小结

    .net如今已经很流行,成为赶时髦的程序员的首选。但是,大量刚刚接触.net的程序员的确存在一定的认识误区,这里先介绍一部分。
    2010-04-04
  • 解析xHTML源码的DLL组件AngleSharp介绍

    解析xHTML源码的DLL组件AngleSharp介绍

    本文主要给大家介绍了解析HTML利器AngleSharp,这里主要介绍是一些使用AngleSharp常用的方法以及通过具体的示例展示给大家,有需要的小伙伴可以参考下
    2016-12-12
  • Asp.net实现选择性的保留DataTable中的列

    Asp.net实现选择性的保留DataTable中的列

    选择性的保留DataTable中的列(移除列/保留列不移除/移除不需要的列),很多新手朋友们都想实现这样的功能,本文总结了一些可行方法,感兴趣的朋友可以了解下哦
    2013-01-01
  • asp.net repeater实现批量删除时注册多选框id到客户端

    asp.net repeater实现批量删除时注册多选框id到客户端

    repeater批量删除时注册多选框id到客户端的实现代码
    2008-11-11
  • ASP.NET使用SignalR2实现服务器广播

    ASP.NET使用SignalR2实现服务器广播

    这篇文章介绍了ASP.NET使用SignalR2实现服务器广播的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • asp.net 分页潜谈

    asp.net 分页潜谈

    最近研究了一下Asp.net下的分页功能。以前受前辈们的误导,人云已云的以为做分页很难很麻烦。这一研究才发现,分页也不过如此嘛。
    2009-06-06
  • 详解CentOS 7.4下如何部署Asp.Net Core结合consul

    详解CentOS 7.4下如何部署Asp.Net Core结合consul

    这篇文章主要介绍了详解CentOS 7.4下如何部署Asp.Net Core结合consul,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06

最新评论