asp.Net性能优化(2)
来源:未知 责任编辑:责任编辑 发表时间:2015-09-16 20:04 点击:次
(四).避免使用DataGrid
大家都知道DataGrid功能强大。但是功能强大的同时,增加了性能上的开销。一般用 其它控件: DataList 或Repeater控件能实现的,尽量不用DataGrid.
(五).字符串操作
1.避免装箱操作. 装箱操作运行效率比较低. 例如运行两个代码段:
string test="";
for(for int i=0;i<10000;i++)
{
test = test + i;
} 和
string test="";
for(for int i=0;i<10000;i++)
{ test = test + i.ToString();
}
下面的代码段显然效率要高.因为i是整型的,系统要先把i进行装箱转换为string 型的,再进行连接. 需要时间,可以Copy到自己机器上测试一下.
2.使用StringBulider类。在进行字符串连接时: string str = str1 + str2 + ....; 一般超过三项连接,最好用StringBuilder来代替string类. StringBuilder可以避免重新创建string 对象造成 的性能损失. 一般用于组装sql语句时用到: StringBulider. 可以到自己机器上测试一下.
3.尽量少用: try {} catch{}finally{} 语句.此语句执行效率比较低.
(六).ADO.Net使用方面优化
1.数据库连接打开和关闭。在需要连接时打开,当访问完数据库要立刻关闭连接. 举例说明,还是看两个代码段:
I. DataSet ds = new DataSet();
SqlConnection MyConnection = new SqlConnection("server=localhost; uid=sa; pwd=; database=NorthWind");
SqlCommand myCommand = new SqlCommand(strSql,MyConnection);
SqlDataAdapter myAdapter=new SqlDataAdapter(queryStr,connectionStr);
MyConnection.Open(); //打开连接
for(int i=0;i<1000;i++) //for循环模拟取得数据前的商业逻辑操作
{
Thread.Sleep(1000);
}
myAdapter.Fill(ds);
for(int i=0;i<1000;i++) //for循环模拟取得数据后的商业逻辑操作
{
Thread.Sleep(1000);
}
MyConnection.Close(); //关闭连接
II. DataSet ds = new DataSet();
SqlConnection MyConnection = new SqlConnection("server=localhost; uid=sa; pwd=; database=NorthWind");
SqlCommand myCommand = new SqlCommand(strSql,MyConnection);
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 进入详细评论页>>
今日头条
更多>>您可能感兴趣的文章
- MVC3+Entity Framework 实现投票系统(二)
- 聊聊.net程序设计——浅谈使用VS2010建模拓展(下
- .NET简谈互操作(四:基础知识之Dispose非托管内存
- Spring MVC 3.0.5+Spring 3.0.5+MyBatis3.0.4全注
- asp.net DataTable和Dataset序列化成Json格式
- 使用ASP.NET MVC3+EF+Jquery制作文字直播系统(四
- Web Service学习笔记(4)
- .NET设计模式:工厂方法模式(Factory Method)[1]
- JQuery+Asp.net MVC实现用户名重名查询
- .net架构的最后思考(箴言)



