总结出来的一些ASP.NET程序性能优化的注意事项[不断补充]

只是提了一个基本概念,具体要点要是需要查找资料。
本文的各个要点,都是从网上大量文章中总结出来。
参考资料:
http://www.cnblogs.com/lxinxuan/archive/2006/11/06/551980.html
 

asp.net程序性能优化总结

——备忘具体技术 细节请查询

1.          缓存:页面OutPut缓冲(根据参数VaryByParams,Location、保存到硬盘)、User Control的片断缓存(VaryByControl=”Con”:针对此控件所在的每个页面创建单独的缓存条目)、缓存API、数据缓冲(文件依赖、时间依赖、相对过期依赖)、回调缓存(<asp:Substitution />)。

2.          数据处理方面的优化

a)          返回大量数据且不做大量处理,返回类型用SqlDataReader,只读数据访问不要使用DataSet。

b)         使用存储过程,好处:1、有助于处理复杂业务。2、可扩展性,数据库结构改变,易于维护修改。3、减少网络传输时间。4、预编译,速度比执行Sql语句快很多。

c)          查询语句优化:SET FORCEPLAN强制Sql Server按表出现顺序使用表。用它选择表联结顺序。

d)         数据库连接使用完毕立即关闭,使用using自动关闭,比手动关闭哪个优?(待查询)

e)          优化查询语句。不在查询语句中包含子查询语句,充分利用索引。

f)          对数据进行分页,按页码和每页条数返回每次请求所需数据。[f、g见9]

g)          返回多个数据集。用SqlCommand对象的ExecuteReader方法返回一个强类型的业务对象,再调用NextResult方法来移动数据集指针来定位数据集,但必须把业务逻辑写到存储过程里面

3.          页面优化

a)          无特殊要求,使(页面视图状态)EnableViewState=false。如:页面无需回传或者每次仅只是呈现。

b)         页面布局:用FlowLayout比GridLayout(绝对定位,代码多)好。

c)          尽量使用html控件,能用javascript的就用。数据控件选择:Repeater>Datalist>DataGrid

4.          字符串操作:”s” + 2.ToString(); 使用StringBuilder。

5.          采用 Server.Transfer 语法避免不必要的客户端重定向

6.          启用网络园艺

7.          优化web服务器

a)          仅对需要的应用启用身份验证。

b)         考虑对应用程序禁用 AutoEventWireup,需重写Page.OnLoad(),而不能直接使用Page_Load()

c)          从请求处理管线中移除不用的模块。Machine.config 文件中 <httpModules> 节点默认为激活,如果在应用程序中不使用会话状态和输出缓存,则可以从 <httpModules>列表中移除它们。

8.          关闭ASP.NET的Debug模式

9.          其他额外:(没用过,不懂) http://dotnet.mblogger.cn/mark_lee/posts/6329.aspx似乎只针对Server 2003。

a)          IIS6.0中启用Gzip压缩发送数据,要修改IIS6.0的xml配置文件。

b)         用IIS6.0的Kernel Caching

c)          后台处理。System.Threading命名空间下Timer类。如:提交一个新帖子……检查,发邮件…

10.        

11.        

12.        

13.        

14.        

15.        

16.        

17.        

18.        

19.        

20.        

21.        

总结自网上。

转载于:https://www.cnblogs.com/lxinxuan/archive/2007/01/17/622708.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/482465.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

可重构人工智能设备展现出智能化前景

PURDUE UNIVERSITY来源&#xff1a;IEEE电气电子工程师一项新的研究发现&#xff0c;一种适应性强的新设备可以转换成人工智能硬件所需的所有关键电子元件&#xff0c;在机器人和自治系统中有潜在的应用。以大脑为灵感或“神经形态”的计算机硬件旨在模仿人脑从经验中自适应学习…

gin+vue的前后端分离开源项目

该项目是ginvue的前后端分离项目&#xff0c;使用gorm访问MySQL&#xff0c;其中vue前端是使用vue-element-admin框架简单实现的&#xff1b; go后台使用jwt&#xff0c;对API接口进行权限控制。此外&#xff0c;Web页面在token过期后的半个小时内&#xff0c;用户再次操作会自…

day37-数据库分组查询

1. 单表查询 2. 多表查询 ## 单表查询 前期表准备 create table emp( id int not null unique auto_increment, name varchar(20) not null, sex enum(male,female) not null default male, #大部分是男的 age int(3) unsigned not null default 28, hire_date date not null, …

指挥控制智能化现状与发展

来源&#xff1a;人机与认知实验室&#xff10; 引言人工智能&#xff08;AI&#xff09;技术现已进入一个新的高速增长期&#xff0c;是公认最有可能改变未来世界的颠覆性技术。从“深蓝”战胜卡斯帕罗夫&#xff0c;到机器学习技术在语音识别、图像识别和自然语言处理等诸多…

IEEE 2022年网络、计算机和通信国际学术研讨会(ISNCC2022)

2022年网络、计算机和通信国际学术研讨会&#xff08;International Symposium on Networks, Computers andCommunications,2022&#xff09;主办&#xff1a;电气与电子工程师学会&#xff08;IEEE&#xff09;、IEEE 通信学会&#xff08;IEEE Communications Society&#x…

@RequestParam和@RequestBody的区别

RequestBody是用来接收 application/json需要解析json字符串&#xff0c;然后通过json获取参数,这里用到是fastjson public CommonReturnType login(RequestBody String jsonStr) {JSONObject requestJson JSON.parseObject(jsonStr);String telphone(String)requestJson.get…

【重要征稿】IEEE 2022年网络、计算机和通信国际学术研讨会(ISNCC2022)

2022年网络、计算机和通信国际学术研讨会&#xff08;International Symposium on Networks, Computers andCommunications,2022&#xff09;主办&#xff1a;电气与电子工程师学会&#xff08;IEEE&#xff09;、IEEE 通信学会&#xff08;IEEE Communications Society&#x…

C++ 类设计核查表

参考&#xff1a;https://www.jianshu.com/p/01601515ca31 《大规模C程序设计》 函数接口&#xff1a; 1.运算符或非运算符函数&#xff1f; 2.自由或成员运算符&#xff1f; 3.虚函数或非虚函数&#xff1f; 4.纯虚成员函数或非纯虚成员函数&#xff1f; 5.静态或非静态成员函…

CICC《城市大脑建设规范》标准建设启动会在京召开

来源&#xff1a;中国指挥与控制学会 2022年2月27日下午&#xff0c;中国指挥与控制学会&#xff08;以下简称&#xff1a;CICC&#xff09;在京召开了《城市大脑建设规范》团体标准启动会。启动会邀请到了中国电信、中国电科、中国电子、联想、科大讯飞、世纪互联、北京市标准…

day38-数据库应用软件

# mysql select distinct 字段1&#xff0c;字段2&#xff0c;。。。 from 表名 where 分组之前的过滤条件 group by 分组条件 having 分组之后过滤条件 order by 排序字段1 asc&#xff0c;排序字段2 desc limit 5,5as语法中给某个查询结果起别名的时候需要把查询语句中…

世界被一种神秘的数学力量彻底改变了

来源&#xff1a;《微积分的力量》编辑&#xff1a;nhyilin01科学或许是唯一的神上世纪60年代&#xff0c;小说家赫尔曼沃克&#xff08;Herman Wouk&#xff09;正在为他计划中的巨著《战争风云》做调研&#xff0c;他去加州理工学院采访了参与过原子弹研发的物理学家&#xf…

程序异常退出后,托盘残留图标清理方法(C#)

程序猿对于宕机再熟悉不过了&#xff0c;如果一个程序异常退出&#xff0c;那我们只能在Windows日志中找到它的踪迹&#xff1b;如果它是一个托盘程序&#xff0c;异常退出后&#xff0c;它会停留在托盘中久久不能离去&#xff0c;直到我们的鼠标从它身上划过&#xff1b;如果一…

汪劲:生命系统中的非平衡物理学

来源&#xff1a;集智俱乐部作者&#xff1a;汪劲编译&#xff1a;袁郭玲编辑&#xff1a;邓一雪导语非平衡物理学将在生物应用中发挥重要作用&#xff0c;如酶动力学、新陈代谢、基因调控&#xff0c;细胞的结构、功能和动力学&#xff0c;生理学、癌症、分化和发育&#xff0…

虚拟现实和元宇宙的最大短板在哪里?

出品&#xff1a;科技智谷编辑&#xff1a;王晓东虚拟现实和元宇宙面临的最大问题不是技术问题而是功能问题。在所有关于Metaverse以及虚拟现实或VR将给我们的生活带来什么的讨论中&#xff0c;有一个很大的功能问题被忽略了。正如几大巨头宣传的那样&#xff0c;Metaverse是一…

cmake 配置

罗列一下cmake常用的命令。CMake支持大写、小写、混合大小写的命令。 1. 添加头文件目录INCLUDE_DIRECTORIES 语法&#xff1a;include_directories([AFTER|BEFORE] [SYSTEM] dir1 [dir2 ...])它相当于g选项中的-I参数的作用&#xff0c;也相当于环境变量中增加路径到CPLUS_INC…

解密通往元宇宙的三大入口,VR先上AR紧跟,但脑机接口才是未来

来源: 智东西编辑&#xff1a;智东西内参VR、AR和脑机接口&#xff0c;谁是人类通往元宇宙的合适入口&#xff1f;VR/AR/脑机接口是集合了微显示、传感器、芯片和算法等多项技术在内的下一代人机交互平台。回顾整个人机交互发展历程&#xff0c;我们看到人机交互的指令输入形式…

配置opencv cmake

第一种使用 find_package的方法示例代码如下:# 声明要求的 cmake 最低版本cmake_minimum_required( VERSION 2.8 ) # 声明一个 cmake 工程project( pro ) # 设置编译模式set( CMAKE_BUILD_TYPE "Debug" ) #添加OPENCV库#指定OpenCV版本&#xff0c;代码如下#find_pac…

python enumerate用法总结(转)

原文链接&#xff1a;https://blog.csdn.net/churximi/article/details/51648388 enumerate()说明 enumerate()是python的内置函数enumerate在字典上是枚举、列举的意思对于一个可迭代的&#xff08;iterable&#xff09;/可遍历的对象&#xff08;如列表、字符串&#xff09;&…

特约专栏丨孙茂松教授——自然语言处理一瞥:知往鉴今瞻未来

来源&#xff1a;中国人工智能学会文 &#xff1a;孙茂松人类语言&#xff08;即自然语言&#xff09;的重要性无论怎么讲都不为过。社会生物学之父爱德华威尔逊曾说过&#xff1a;“语言是继真核细胞之后最伟大的进化成就”。科普畅销书《信息简史》的作者詹姆斯格雷克也深刻地…

安全隐患:神经网络可以隐藏恶意软件

来源&#xff1a;AI科技大本营&#xff08;ID:rgznai100&#xff09;编译&#xff1a;禾木木凭借数百万和数十亿的数值参数&#xff0c;深度学习模型可以做到很多的事情&#xff0c;例如&#xff0c;检测照片中的对象、识别语音、生成文本以及隐藏恶意软件。加州大学圣地亚哥分…