AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > ASP编程

如何写出优秀的ASP应用

51自学网 http://www.51zixue.net

Application变量

. 共享变量
. 不能持久保存
. 多个web服务器时不行,除非只是只读变量。

缓存

. 对静态内容非常理想
. 不要使用Response.Expires=0,使用负数:
. Response.Expires=-10000;
. Response.AddHeader “Pragma”,”no-cache”
. Response.AddHeader “cache-control”,”no-store”
. 服务器缓存
. proxy缓存
. 客户端缓存

部件

. 性能
. 伸缩性
. 分离商务逻辑和页面表现
. 被ASP或其他环境重用
. 事务处理
. 类型安全
. 存取操作系统特性
. 保护知识产权
. 在下列情况下使用Server.CreateObject:
. MTS事务处理
. 上下文安全性
. ASP内部部件
. OnStartPage、OnEndPage
. 使用<Object RunAt=server>延迟对象初始化
. 是否保存到Session或者Application变量中


性能

. Response缓冲:Response.Buffer=True
. 关闭Connection并:set Connection=Nothing
. 使用局部变量
. 用<Object >代替Server.CreateObject
. 不要使用Session和Application变量
. 不要将COM对象存储在Session或者Application变量中
. 关闭脚本调试
. 避免重复的字符串相加
. 在费时的页面顶端使用Response.IsClientConnected
. 使用MSMQ
. 不要在Session或者Application中存储大数组
. 不要ReDim 数组
. 将集合类型的对象赋给临时变量
. 减小微处理器的最大线程数(运行regedt32,在HKEY_LOCAL_MACHINE/SYSTEM/ CurrentControlSet/Services/w3SVC/ASP/Parameters,增加ProcessorThreadMax,减小这个值,看看性能的变化;或者增大这个值。)
. 设置AspScriptEngineCacheMax,使它等于ProcessorThreadMax*CPU个数。缺省的是30;(在系统路径下:/system32/inetsrv/adminisamples下,键入adsutil.vbs,设置/w3svc/AspScriptEngineCacheMax);
. 减少Session.Timeout;
. 在MMC中,设置ASP应用程序缓冲为有效。


把某些工作交给客户端

. CSS、DHTML
. XML
. RDS
. Remote Scripting
. Xmlhttp
. 客户端验证
. 减小文件大小
. 尽可能避免https和SSL
. 使用Response.End测试性能

数据库

. 减少数据库存取访问;
. 缓存变换后的结果;
. 使用ODBC连接池和OLEDB资源池;
. 使用系统DSN或者非DSN,不要使用DSN或者文件DSN;
. 使ADO运行在双线程模式(Both-threaded):makefre.bat;
. 使用ADO的Field对象;
. GetString或者GetRows比较快;
. RDS和XML把负载嫁到客户端;
. 不要使用Select *,把字段写出来;
. 尽量使用SQ. Server 7,不要使用Access;
. 使用SQ. Server的特性:存储过程、Job、Join、sort、group
. 使用SQ. Analysis,优化SQL的性能
. 使用索引
. 本地使用Name-pipes,远程使用Sockets
. 准确地指定Command Type

IIS 5的新特性

. 可靠的重新启动
. ASP性能提高
. Server.Transfer比Server.Redirect更好
. Server.Execute
. Server.GetLastError

 
 

上一篇:Asp编码优化技巧8则  下一篇:ASP调用WEBSERVICE文档