提高.NET性能的最佳实践
1)避免使用ArrayList,因为对象要转化为System.Object加入ArrayList,取出时又要转化为想要的类型,设计到大量的装箱拆箱过程,推荐使用自定义集合取代ArrayList,.net还在System.Collection.Specialized命名空间下为string提供了一个强类型的集合类StringCollection
2)用Hashtable 取代其他字典类型,如:StringDictionary, NameValueCollection, HybridCollection。
3)经常为字符串声明常量来封装他们
//避免
MyObject obj = new MyObject();
obj.Status = "ACTIVE";
//推荐
const string C_STATUS = "ACTIVE";
MyObject obj = new MyObject();
obj.Status = C_STATUS;
4)使用String.Compare取代将两个字符串转化为uppercase或lowercase再来比较他们
const string C_VALUE = "COMPARE";
if (String.Compare(sVariable, C_VALUE, true) == 0)
{
Console.Write("SAME");
}
5)避免使用+操作符来连接字符串,而使用StringBuilder来连接
//避免
String sXML = "<parent>";
sXML += "<child>";
sXML += "Data";
sXML += "</child>";
sXML += "</parent>"; //推荐
StringBuilder sbXML = new StringBuilder();
sbXML.Append("<parent>");
sbXML.Append("<child>");
sbXML.Append("Data");
sbXML.Append("</child>");
sbXML.Append("</parent>");
6)对于只读xml文档,用XPathDocument取代XMLDocumentt
//避免
XmlDocument xmld = new XmlDocument();
xmld.LoadXml(sXML);
txtName.Text = xmld.SelectSingleNode("/packet/child").InnerText;
//推荐
XPathDocument xmldContext = new XPathDocument(new StringReader(oContext.Value));
XPathNavigator xnav = xmldContext.CreateNavigator();
XPathNodeIterator xpNodeIter = xnav.Select("packet/child");
iCount = xpNodeIter.Count;
xpNodeIter = xnav.SelectDescendants(XPathNodeType.Element, false);
while(xpNodeIter.MoveNext())
{
sCurrValues += xpNodeIter.Current.Value+"~";
}
7)避免在循环体类声明并初始化对象,而应该在循环体外声明,在循环体类初始化!
//避免
for(int i=0; i<10; i++)
{
SomeClass objSC = new SomeClass();
}
//推荐
SomeClass objSC = null;
for(int i=0; i<10; i++)
{
objSC = new SomeClass();
}
下面是专门针对Web程序性能的设计方针
1) Viewstate 会动态增加页面体积,所以要小心的使用控件的Viewstate 属性。
2) 尽可能使用ajax。
3) 使用server.tranfer取代response.redirect。
4) 尽可能使用repeater和datalist取代datagrid。
5) 尽量避免Throw来控制程序流程,因为Throw会消耗大量资源。
6) 避免过度使用异常处理程序块,只在你无法控制的地方做异常处理。
7) 大量dataset很昂贵,尽量一次取得最多的数据,然后销毁dataset
8) 使用缓存
9) 使用合适的认证机制
10)使用Finally方法释放资源
11)网站发布后将Debug和trace设为false。
提高.NET性能的最佳实践相关推荐
- 提高 Web 站点性能的最佳实践
原文地址:http://developer.yahoo.com/performance/rules.html 本文在尊重原文基础上,尽量翻译得通俗易懂一些. 本文内容 提高 Web 站点性能的最佳实践 ...
- 前端性能优化最佳实践(转)
转载请注明: 转载自WEB前端开发(www.css119.com)-关注常见的WEB前端开发问题.最新的WEB前端开发技术(webApp开发.移动网站开发).最好的WEB前端开发工具和最全的WEB前端 ...
- 前端性能优化最佳实践
本文主要考量客户端性能.服务器端和网络性能,内容框架来自 Yahoo Developer Network,包含 7 个类别共 35 条前端性能优化最佳实践,在此基础上补充了一些相关或者更符合主流技术的 ...
- Android应用性能优化最佳实践.
移动开发 Android应用性能优化最佳实践 罗彧成 著 图书在版编目(CIP)数据 Android应用性能优化最佳实践 / 罗彧成著. -北京:机械工业出版社,2017.1 (移动开发) ISBN ...
- eBCC性能分析最佳实践(1) - 线上lstat, vfs_fstatat 开销高情景分析...
Guide: eBCC性能分析最佳实践(0) - 开启性能分析新篇章 eBCC性能分析最佳实践(1) - 线上lstat, vfs_fstatat 开销高情景分析 eBCC性能分析最佳实践(2) - ...
- 提升Web应用程序性能的最佳实践
2019独角兽企业重金招聘Python工程师标准>>> 导读:作为开发人员,Web页面加载或刷新的速度对其网站至关重要.在浏览器中调整性能问题比在Java应用程 序中更难.开发人员在 ...
- 高性能网站建设进阶指南:Web开发者性能优化最佳实践 pdf扫描版
高性能网站建设进阶指南:Web开发者性能优化最佳实践是<高性能网站建设指南>姊妹篇.作者Steve Souders是Google Web性能布道者和Yahoo!前首席性能工程师.在本书中, ...
- 何崚谈阿里巴巴前端性能优化最佳实践
转载:http://www.infoq.com/cn/interviews/hl-alibaba-front-end-performance-optimization 大家好,我现在在阿里巴巴园区采访 ...
- ASP.NET Core 性能优化最佳实践
本文提供了 ASP.NET Core 的性能最佳实践指南. 译文原文地址:https://docs.microsoft.com/en-us/aspnet/core/performance/perfor ...
最新文章
- GitHub 的微服务架构设计与实践
- 你管这破玩意叫 RDB
- makefile 常用函数
- 参数估计:最大似然、贝叶斯与最大后验
- win8.1 php mysql,win8.1(64位) apache2.4.3+php5.6.3+mysql5.6安装
- mysql2017windows安装_mysql的windows安装
- ZooKeeper入门指南
- linux 设置pip 镜像 Pip Warning:–trusted-host 问题解决方案
- JSP中EL表达式和JSTL标签库的使用
- 【免费】Discuz素材资源交易论坛整站源码/带数据整站源码打包
- spyder pyecharts不显示_飞利浦292E2E评测丨宽屏显示器中的多面手
- 刚体转动的惯性张量和转动惯量的区别和联系
- 舞蹈模特欣欣(六)棚拍私房 大家看看像小龙女(李若彤)吗?
- 关于ASP木马提升权限
- PDF怎么编辑修改内容的免费方法
- 喜讯:世界首款阿兹海默老年痴呆症治疗药将上市
- 智能晾衣架(二)--功能实现
- VQA相关概念简单整理
- Photoshop CEP扩展倒角插件
- 华南x79主板u盘装系统教程_英特尔X79主板怎么设置u盘启动