linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘网络学院网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > 开发语言 > ASP >
栏目导栏
  php
  JSP
  ASP
  asp.net
  JAVA
  c/c++/c#
  perl
  JavaScript
  Basic
  Delphi
资料搜索
热门文章
·由HTTP 500 Internal server e
·会员系统“找回密码”的制作方
·ASP实现数字和字母组合并生成图
·简单的asp验证码程序示例
·用ASP制作强大的搜索引擎
·如何让图片自动缩放以适合界面
·如何用foreach遍历页面上所有的
·如何实现站点的RSS输出
·无组件实现文件上传/下载
·ASP如何获取真实IP地址
·asp中如何使用 HTML 表格
·采用XMLHTTP编写一个天气预报的
·80004005错误及其解决方法
·asp中如何调试 ASP 脚本
·asp+ajax打造无刷新新闻评论系
最新文章
·ASP教程:8、ASP内建对象Respo
·ASP教程:7、ASP内建对象Reque
·ASP教程:6、ASP脚本循环语句
·ASP教程:5、ASP脚本变量、函数
·ASP教程:4、ASP脚本基础
·ASP教程:3、ASP基础
·ASP教程:2、ASP简介
·ASP教程:1、Are you ready?
·ASP中使用SQL语句教程
·ASP进度条
·由HTTP 500 Internal server e
·Asp无组件生成缩略图
·ASP 系列函数大全(4)
·ASP 系列函数大全(3)
·ASP 系列函数大全(2)
Google
 
如何写出优秀的ASP应用
[ 作者:  加入时间:2007-12-03 15:40:32  来自:Linux联盟收集整理 ]
 怎样创建鲁棒性、正确性、可维护性和性能俱佳的ASP应用程序?要做什么?不做什么?本文以提纲的形式,给出了主要的Check-Points(检查点)。 SyzLinux联盟
   SyzLinux联盟
  什么是ASP SyzLinux联盟
   SyzLinux联盟
  Active Server Page,简称ASP,是: SyzLinux联盟
   SyzLinux联盟
  . 连接网友界面(HTML)和商业逻辑(Business Logic); SyzLinux联盟
  . 提供一致的、容易使用的、有状态保持的、基于Web的客户端; SyzLinux联盟
  . 为那些需要事务处理的WEB 应用提供应用程序环境。 SyzLinux联盟
   SyzLinux联盟
  ASP不是: SyzLinux联盟
   SyzLinux联盟
  . 实现商业逻辑(Business Logic)的地方;商业逻辑应该通过COM+、MTS或者数据库来实现。 SyzLinux联盟
   SyzLinux联盟
  ASP的使用者应该有下面的教训: SyzLinux联盟
   SyzLinux联盟
  . 开发应用程序,而不是开发一个一个的孤立ASP页面; SyzLinux联盟
  . 对输入和输出进行缓存; SyzLinux联盟
  . 在发布之前要测试; SyzLinux联盟
  . 选择性能较好的部件; SyzLinux联盟
  . 减少数据库的存取:缓存变换后的结果; SyzLinux联盟
  . 使用MSMQ来处理有时间延迟的工作; SyzLinux联盟
   SyzLinux联盟
  站点设计 SyzLinux联盟
   SyzLinux联盟
  . 你的站点想提供什么? SyzLinux联盟
  . 信息架构:80/20准则; SyzLinux联盟
  . 站点导航; SyzLinux联盟
  . 页面布局; SyzLinux联盟
  . 可用性; SyzLinux联盟
  . 使用ALT和Title属性; SyzLinux联盟
  . 不使用图片或者Image Map的导航; SyzLinux联盟
  . 适合大多数低版本浏览器,考虑他们对ActiveX、RDS、XML、DHTML、Java Applet的支持状况; SyzLinux联盟
  . 屏幕分辨率和屏幕颜色数 SyzLinux联盟
  . 是否支持WebTV、PDA…? SyzLinux联盟
  . 设置IMG的width和height属性。 SyzLinux联盟
  . 非浏览器的访问,如自动机器人(Spider); SyzLinux联盟
  . 使用帧(Frame)? SyzLinux联盟
  . 使用Cookies的个性化; SyzLinux联盟
  . 避免坏连接; SyzLinux联盟
  . 使用meta标签; SyzLinux联盟
  . 内容审核; SyzLinux联盟
  . 内容检索; SyzLinux联盟
  . 结果反馈:用户反馈和跟踪; SyzLinux联盟
  . 减少下载时间; SyzLinux联盟
   SyzLinux联盟
  三层、四层应用设计 SyzLinux联盟
   SyzLinux联盟
  可读性、可维护性 SyzLinux联盟
   SyzLinux联盟
  . 使用注释; SyzLinux联盟
  . 在VBScript脚本中使用<%Optio. Explicit%>; SyzLinux联盟
  . 使用字符串变量存储SQL字符串:便于调试; SyzLinux联盟
  . 使用Server.MapPath和相对路径; SyzLinux联盟
  . 使用ADODB.INC或者<!—metadata typelib=somelib file=somedll-->来引用常量,不要直接使用常量数值。 SyzLinux联盟
  . 指定ADO调用的缺省参数,避免出错; SyzLinux联盟
  . 使用库或者部件来封装代码。 SyzLinux联盟
   SyzLinux联盟
  正确的方法: SyzLinux联盟
   SyzLinux联盟
  . 使用Server.URLEncode SyzLinux联盟
  . 错误捕获和处理 SyzLinux联盟
   SyzLinux联盟
  国际化: SyzLinux联盟
   SyzLinux联盟
  . 使用<%CodePage%> SyzLinux联盟
  . 使用Session.CodePage SyzLinux联盟
  . 在IIS5.0中,Response.write支持UTF8 SyzLinux联盟
   SyzLinux联盟
  其他: SyzLinux联盟
   SyzLinux联盟
  . 使用#include 重用代码 SyzLinux联盟
  . 使用分页技术 SyzLinux联盟
   SyzLinux联盟
  站点安全: SyzLinux联盟
   SyzLinux联盟
  . 客户身份验证 SyzLinux联盟
  . 输入验证 SyzLinux联盟
  . #include 文件不要使用.INC后缀,使用.ASP或者设置.INC的应用程序映射 SyzLinux联盟
  . 把MDB文件存放在非WEB路径下; SyzLinux联盟
  . 使用ADSI做安全管理 SyzLinux联盟
   SyzLinux联盟
  Session和Application状态 SyzLinux联盟
   SyzLinux联盟
  Session的使用: SyzLinux联盟
   SyzLinux联盟
  . 使用起来很方便但是很有问题; SyzLinux联盟
  . HTTP是一个无状态的协议; SyzLinux联盟
  . 设计购物推车特别有用; SyzLinux联盟
  . 不利于可伸缩性设计(Scalability); SyzLinux联盟
  . 在不需要Session的页面中使用<%EnableSessionState=false%> SyzLinux联盟
  . 尽可能完全避免使用Session; SyzLinux联盟
  . 在多个web服务器情况下不适合; SyzLinux联盟
  . 某些部件使Session运行在单一线程模式,减少了吞吐量; SyzLinux联盟
  . 消耗内存; SyzLinux联盟
  . Session有超时的问题 SyzLinux联盟
  . 需要客户端的浏览器打开cookie设置; SyzLinux联盟
  . 不要在session中保存recordset,或者缓存connection对象; SyzLinux联盟
  . 在global.asa不要使用空的Session_OnEnd; SyzLinux联盟
  . 可选方案: SyzLinux联盟
  . cookies SyzLinux联盟
  . 直接状态编码:简单、容易、不安全 SyzLinux联盟
  . 后端数据库的ID作为状态值 SyzLinux联盟
  . querystring 参数 SyzLinux联盟
  . 如amazon的url方式 SyzLinux联盟
  . 隐藏的表单 SyzLinux联盟
   SyzLinux联盟
  Application变量: SyzLinux联盟
   SyzLinux联盟
  . 共享变量 SyzLinux联盟
  . 不能持久保存 SyzLinux联盟
  . 多个web服务器时不行,除非只是只读变量。 SyzLinux联盟
   SyzLinux联盟
  缓存 SyzLinux联盟
   SyzLinux联盟
  . 对静态内容非常理想 SyzLinux联盟
  . 不要使用Response.Expires=0,使用负数: SyzLinux联盟
  . Response.Expires=-10000; SyzLinux联盟
  . Response.AddHeader “Pragma”,”no-cache” SyzLinux联盟
  . Response.AddHeader “cache-control”,”no-store” SyzLinux联盟
  . 服务器缓存 SyzLinux联盟
  . proxy缓存 SyzLinux联盟
  . 客户端缓存 SyzLinux联盟
部件 SyzLinux联盟
   SyzLinux联盟
  . 性能 SyzLinux联盟
  . 伸缩性 SyzLinux联盟
  . 分离商务逻辑和页面表现 SyzLinux联盟
  . 被ASP或其他环境重用 SyzLinux联盟
  . 事务处理 SyzLinux联盟
  . 类型安全 SyzLinux联盟
  . 存取操作系统特性 SyzLinux联盟
  . 保护知识产权 SyzLinux联盟
  . 在下列情况下使用Server.CreateObject: SyzLinux联盟
  . MTS事务处理 SyzLinux联盟
  . 上下文安全性 SyzLinux联盟
  . ASP内部部件 SyzLinux联盟
  . OnStartPage、OnEndPage SyzLinux联盟
  . 使用<Object RunAt=server>延迟对象初始化 SyzLinux联盟
  . 是否保存到Session或者Application变量中 SyzLinux联盟
   SyzLinux联盟
  性能 SyzLinux联盟
   SyzLinux联盟
  . Response缓冲:Response.Buffer=True SyzLinux联盟
  . 关闭Connection并:set Connection=Nothing SyzLinux联盟
  . 使用局部变量 SyzLinux联盟
  . 用<Object >代替Server.CreateObject SyzLinux联盟
  . 不要使用Session和Application变量 SyzLinux联盟
  . 不要将COM对象存储在Session或者Application变量中 SyzLinux联盟
  . 关闭脚本调试 SyzLinux联盟
  . 避免重复的字符串相加 SyzLinux联盟
  . 在费时的页面顶端使用Response.IsClientConnected SyzLinux联盟
  . 使用MSMQ SyzLinux联盟
  . 不要在Session或者Application中存储大数组 SyzLinux联盟
  . 不要ReDim 数组 SyzLinux联盟
  . 将集合类型的对象赋给临时变量 SyzLinux联盟
  . 减小微处理器的最大线程数(运行regedt32,在HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services\w3SVC\ASP\Parameters,增加ProcessorThreadMax,减小这个值,看看性能的变化;或者增大这个值。) SyzLinux联盟
  . 设置AspScriptEngineCacheMax,使它等于ProcessorThreadMax*CPU个数。缺省的是30;(在系统路径下:\system32\inetsrv/adminisamples下,键入adsutil.vbs,设置/w3svc/AspScriptEngineCacheMax); SyzLinux联盟
  . 减少Session.Timeout; SyzLinux联盟
  . 在MMC中,设置ASP应用程序缓冲为有效。 SyzLinux联盟
   SyzLinux联盟
  把某些工作交给客户端: SyzLinux联盟
   SyzLinux联盟
  . CSS、DHTML SyzLinux联盟
  . XML SyzLinux联盟
  . RDS SyzLinux联盟
  . Remote Scripting SyzLinux联盟
  . Xmlhttp SyzLinux联盟
  . 客户端验证 SyzLinux联盟
  . 减小文件大小 SyzLinux联盟
  . 尽可能避免https和SSL SyzLinux联盟
  . 使用Response.End测试性能 SyzLinux联盟
   SyzLinux联盟
  数据库 SyzLinux联盟
   SyzLinux联盟
  . 减少数据库存取访问; SyzLinux联盟
  . 缓存变换后的结果; SyzLinux联盟
  . 使用ODBC连接池和OLEDB资源池; SyzLinux联盟
  . 使用系统DSN或者非DSN,不要使用DSN或者文件DSN; SyzLinux联盟
  . 使ADO运行在双线程模式(Both-threaded):makefre.bat; SyzLinux联盟
  . 使用ADO的Field对象; SyzLinux联盟
  . GetString或者GetRows比较快; SyzLinux联盟
  . RDS和XML把负载嫁到客户端; SyzLinux联盟
  . 不要使用Select *,把字段写出来; SyzLinux联盟
  . 尽量使用SQ. Server 7,不要使用Access; SyzLinux联盟
  . 使用SQ. Server的特性:存储过程、Job、Join、sort、group SyzLinux联盟
  . 使用SQ. Analysis,优化SQL的性能 SyzLinux联盟
  . 使用索引 SyzLinux联盟
  . 本地使用Name-pipes,远程使用Sockets SyzLinux联盟
  . 准确地指定Command Type SyzLinux联盟
   SyzLinux联盟
  IIS 5的新特性 SyzLinux联盟
   SyzLinux联盟
  . 可靠的重新启动 SyzLinux联盟
  . ASP性能提高 SyzLinux联盟
  . Server.Transfer比Server.Redirect更好 SyzLinux联盟
  . Server.Execute SyzLinux联盟
  . Server.GetLastError SyzLinux联盟
Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·ASP应用:用stream读文件  (2007-11-20 16:54:09)
 ·巧用缓存提高ASP应用程序的性能  (2007-10-17 14:35:28)