中国站长下载-为中国站长提供最好最全的建站资源! 首 页发布资源有事留言繁體中文
设为首页
加入收藏
联系我们
 
您当前的位置:中国站长下载 -> 文章中心 -> 网页编程 -> ASP编程 -> 文章内容  虚拟主机 域名注册 退出登录 用户管理
栏目导航
· ASP编程 · .NET编程
· PHP编程 · JSP编程
· CGI 专区
热门文章
· sndvol32 - sndvol3...
· [组图] FLASH:《大话李白》...
· 个人网站到底能赚多...
· [图文] Rundll.exe是病毒吗...
· [组图] Flash:制作MV
· 价值12万元的网站SE...
· 网站创业者,你需要...
· 一个成功的网站设计...
· [图文] FLASH:韩国导航条解...
· 中国网站的赚钱模式...
相关文章
· [组图] ASP.NET 1.1 新特征...
· [图文] 在Apache上调试ASP....
· [图文] 在Apache上调试ASP....
· 在Apache上调试ASP....
· 从ASP.NET 1.1升级到...
· 如何写出优秀的ASP应...
· 12popup - 12popup....
· Linux 网管 123 ---...
· Linux 网管 123 ---...
· 网站免“被告”的 1...
如何写出优秀的ASP应用 (1)
作者:不详  来源:不详  发布时间:2006-8-13 0:29:13  发布人:chinazhan

 减小字体 增大字体

     怎样创建鲁棒性、正确性、可维护性和性能俱佳的ASP应用程序?要做什么?不做什么?本文以提纲的形式,给出了主要的Check-Points(检查点)。
  
  什么是ASP
  
  Active Server Page,简称ASP,是:
  
  . 连接网友界面(HTML)和商业逻辑(Business Logic);
  . 提供一致的、容易使用的、有状态保持的、基于Web的客户端;
  . 为那些需要事务处理的WEB 应用提供应用程序环境。
  
  ASP不是:
  
  . 实现商业逻辑(Business Logic)的地方;商业逻辑应该通过COM+、MTS或者数据库来实现。
  
  ASP的使用者应该有下面的教训:
  
  . 开发应用程序,而不是开发一个一个的孤立ASP页面;
  . 对输入和输出进行缓存;
  . 在发布之前要测试;
  . 选择性能较好的部件;
  . 减少数据库的存取:缓存变换后的结果;
  . 使用MSMQ来处理有时间延迟的工作;
  
  站点设计
  
  . 你的站点想提供什么?
  . 信息架构:80/20准则;
  . 站点导航;
  . 页面布局;
  . 可用性;
  . 使用ALT和Title属性;
  . 不使用图片或者Image Map的导航;
  . 适合大多数低版本浏览器,考虑他们对ActiveX、RDS、XML、DHTML、Java Applet的支持状况;
  . 屏幕分辨率和屏幕颜色数
  . 是否支持WebTV、PDA…?
  . 设置IMG的width和height属性。
  . 非浏览器的访问,如自动机器人(Spider);
  . 使用帧(Frame)?
  . 使用Cookies的个性化;
  . 避免坏连接;
  . 使用meta标签;
  . 内容审核;
  . 内容检索;
  . 结果反馈:用户反馈和跟踪;
  . 减少下载时间;
  
  三层、四层应用设计
  
  可读性、可维护性
  
  . 使用注释;
  . 在VBScript脚本中使用<%Optio. Explicit%>;
  . 使用字符串变量存储SQL字符串:便于调试;
  . 使用Server.MapPath和相对路径;
  . 使用ADODB.INC或者<!—metadata typelib=somelib file=somedll-->来引用常量,不要直接使用常量数值。
  . 指定ADO调用的缺省参数,避免出错;
  . 使用库或者部件来封装代码。
  
  正确的方法:
  
  . 使用Server.URLEncode
  . 错误捕获和处理
  
  国际化:
  
  . 使用<%CodePage%>
  . 使用Session.CodePage
  . 在IIS5.0中,Response.write支持UTF8
  
  其他:
  
  . 使用#include 重用代码
  . 使用分页技术
  
  站点安全:
  
  . 客户身份验证
  . 输入验证
  . #include 文件不要使用.INC后缀,使用.ASP或者设置.INC的应用程序映射
  . 把MDB文件存放在非WEB路径下;
  . 使用ADSI做安全管理
  
  Session和Application状态
  
  Session的使用:
  
  . 使用起来很方便但是很有问题;
  . HTTP是一个无状态的协议;
  . 设计购物推车特别有用;
  . 不利于可伸缩性设计(Scalability);
  . 在不需要Session的页面中使用<%EnableSessionState=false%>
  . 尽可能完全避免使用Session;
  . 在多个web服务器情况下不适合;
  . 某些部件使Session运行在单一线程模式,减少了吞吐量;
  . 消耗内存;
  . Session有超时的问题
  . 需要客户端的浏览器打开cookie设置;
  . 不要在session中保存recordset,或者缓存connection对象;
  . 在global.asa不要使用空的Session_OnEnd;
  . 可选方案:
  . cookies
  . 直接状态编码:简单、容易、不安全
  . 后端数据库的ID作为状态值
  . querystring 参数
  . 如amazon的url方式
  . 隐藏的表单
  
  Application变量:
  
  . 共享变量
  . 不能持久保存
  . 多个web服务器时不行,除非只是只读变量。
  
  缓存
  
  . 对静态内容非常理想
  . 不要使用Response.Expires=0,使用负数:
  . Response.Expires=-10000;
  . Response.AddHeader “Pragma”,”no-cache”
  . Response.AddHeader “cache-control”,”no-store”
  . 服务器缓存
  . proxy缓存
  . 客户端缓存
  
  
  
    做人要厚道,请注明转自chinazhan中国站长(www.ChinaZhan.com)。

 
[] [返回上一页] [打 印] [收 藏]
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
中国站长下载
中国站长下载

本页只接受PR>=4 IT类站点连接,申请连接,谢谢您们的支持!希望我们的下载站能够真正帮到中国的站长们!
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图
Copyright © 2005-2006 ChinaZhan.Net. All Rights Reserved .