分享
 
 
 

如何写出优秀的ASP应用 (1)

王朝asp·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

怎样创建鲁棒性、正确性、可维护性和性能俱佳的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缓存

. 客户端缓存

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有