分享:花了一段时间整理和使用的提高asp.net效率的几个方面(希望大家拍砖)
1、避免不必要的执行操作
2、去掉不需要的session
3、注意使用server control 不必要时可以不使用server control
4、不必要时可以关闭viewstate
5、不要用exception控制程序流程
try {
result = 100 / num;
}
catch (exception e) {
result = 0;
}
6、只读数据访问不要使用dataset 使用sqldatareader代替dataset
7、关闭asp.net的debug模式 web.config里的debug要为false,并且dll文件编译是要生成为release版本的
8、使用asp.net output cache缓冲数据
9、对大量使用的很少更新的数据进行数据缓冲
9、尽量使用存储过程数据统计访问
10、页面能静态的就不要动态
11、能用js实现的效果都用js实现,能在客户端实现的就减少回发
12、转向用server.transfer,不用response.direct
13、ado.net对象在一次使用过程中不要重复打开创建,尽量使用一个connection、一个command、一个datareader,并且记得不再调用数据库数据时马上关闭、释放
14、数据集采用要多少给多少,杜绝不分字段不分页
15、能不用dataset/datagrid就不要使用
16、运行在win2003企业版上
==========================================
希望进来的朋友谈谈你在提高效率方面的感想,并希望继续补充
我个人认为系统的效率是必须要时时考虑的,不能忘记。
1的原因就不用提了吧
2减少消耗内存
3减少server control解释成html的时间
4减少传递时增加的隐藏数据,同时也减小传输文件
5为什么非让它撞南墙再回头
6sqldatareader效率高于dataset
7正是版本不应用debug
8output cache缓冲的页听说比静态也还快(直接从内存输出连文件都不用读)
9同样的数据,预先拿出来,放到内存总比在数据库或文件中快吧
9存储过程是数据库预先优化和编译的
10动态的需要先解释啊
11办一件事,故意让你来回跑上几趟,你乐意吗?
12response.direct需要先回到客户那里报个到
13本来你手中有个笔,可是写字时你却先放下,再换一个
14要枝给树
15我认为datagrid过于花哨,dataset用来缓存数据很好,经常要换的话就浪费了
16win2003企业版是集成.net的操作系统