如何写出优秀的ASP应用

2016-01-29 18:40 5 1 收藏

如何写出优秀的ASP应用,如何写出优秀的ASP应用

【 tulaoshi.com - ASP 】

  怎样创建性能棒、正确性、可维护性和性能俱佳的ASP应用程序?要做什么?不做什么?本文以提纲的形式,给出了主要的Check-Points(检查点)。

什么是ASP

Active  Server  Page,简称ASP,是:

□ 连接网友界面(HTML)和商业逻辑(Business  Logic);

□ 提供一致的、容易使用的、有状态保持的、基于WEB的客户端;

□ 为那些需要事务处理的WEB  应用提供应用程序环境。

ASP不是:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/asp/)

□ 实现商业逻辑(Business  Logic)的地方;商业逻辑应该通过COM+、MTS或者数据库来实现。

ASP的使用者应该有下面的教训:

□ 开发应用程序,而不是开发一个一个的孤立ASP页面;

□ 对输入和输出进行缓存;

□ 在发布之前要测试;

□ 选择性能较好的部件;

□ 减少数据库的存取:缓存变换后的结果;

□ 使用MSMQ来处理有时间延迟的工作;

站点设计
□ 你的站点想提供什么?

□ 信息架构:80/20准则;

□ 站点导航;

u  页面布局;

u  可用性;

n  使用ALT和Title属性;

n  不使用图片或者Image  Map的导航;

□ 适合大多数低版本浏览器,考虑他们对ActiveX、RDS、XML、DHTML、Java  Applet的支持状况;

□ 屏幕分辨率和屏幕颜色数

□ 是否支持WebTV、PDA…?

□ 设置IMG的width和height属性。

□ 非浏览器的访问,如自动机器人(Spider);

□ 使用帧(Frame)?

□ 使用Cookies的个性化;

□ 避免坏连接;

□ 使用meta标签;

□ 内容审核;

□ 内容检索;

□ 结果反馈:用户反馈和跟踪;

□ 减少下载时间;

三层、四层应用设计

可读性、可维护性

□ 使用注释;

□ 在VBScript脚本中使用<%Option  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方式

n  隐藏的表单

Application变量:

□   共享变量

□   不能持久保存

□   多个web服务器时不行,除非只是只读变量。

缓存
□   对静态内容非常理想

□   不要使用Response.Expires=0,使用负数:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/asp/)

□   Response.Expires=-10000;

□   Response.AddHeader  “Pragma”,”no-cache”

□ Response.AddHeader  “cache-control”,”no-store”

□ 服务器缓存

□   proxy缓存

□  客户端缓存

部件

□ 性能

□ 伸缩性

□分离商务逻辑和页

来源:http://www.tulaoshi.com/n/20160129/1506819.html

延伸阅读
标签: ASP
  21. IsObject()   FUNCTION: Returns a boolean value indicating whether an expression refers to an automation object.   SYNTAX: IsObject(expression)   ARGUMENTS: expression is any valid expression.   EXAMPLE: <% Set con = Server.CreateObject("ADODB.Connection&qu...
标签: ASP
          自从Microsoft推出ASP技术后,由于ASP在创建动态交互式站点上的强大功能及其代码编写的简便性,使ASP在很多Internet/Intranet/Extranet网站上得到了极其广泛的应用,尤其是涉及到数据库操作的网站应用系统更是倾向于采用ASP技术。但由于众所周知的原因,ASP只能工作于MS自己的操...
标签: Web开发
XML被誉为未来Web的生命所在。本文介绍如何在服务器端利用新的XML文档对象模型(DOM),通过ASP程序解析和应用XML数据。 一、文档对象模型 在服务器上解析和应用XML的能力为开发者打开了一个全新的世界。随着XML应用的日益广泛,在服务器上处理XML也变得更加重要。本文示范ASP应用在服务器端的XML文档处理过程,使用的XML例子是...
标签: PHP
       ASP是微软公司实现动态网页的一种技术。ASP支持一些脚本语言,主要以VBScripp为主。与ASP相比较,你还可以选择另一中开放源代码编程语言——PHP,PHP可以运行在多种操作系统下,其中包括Linux和windows。      虽然ASP是一种不错的技术,但从长远考虑我相信PHP在将来的技术领...
标签: ASP
      学好一门编程语言有两个条件是必不可少的,一是理论与实践结合,在实际例程去验证书本上的理论能加深你对理论的理解;二是学会总结,把学习、运用中的心得体会记下来,当成一种经验或者教训加以提炼并在日后的应用中加以改进,一定能提高你对这门编程语言的认识。以下是笔者在学习与运用ASP编程中的两点经验,...

经验教程

750

收藏

38
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部