仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 707|回复: 12
打印 上一主题 下一主题

[学习教程] ASP网页设计ASP有用技能28则

[复制链接]
小魔女 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 23:20:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。技能改善功能和款式的25+ASP技能
-------------------------------
LenCardinal-MicrosoftConsultingServices初级参谋
GeorgeV.Reilly-MicrosoftIISPerformance主管
更新工夫:2000年4月
依据NancyCluts的文章(英文)改写
NancyCluts-开辟职员手艺工程师
MicrosoftCorporation

择要:本文供应了优化ASP使用程序和VBScript的技能。

目次

简介

技能1:在Web服务器上缓存经常使用数据

技能2:在Application或Session工具中缓存经常使用数据

技能3:在Web服务器磁盘上缓存数据和HTML

技能4:制止在Application或Session工具中缓存非天真组件

技能5:不要在Application或Session工具中缓存数据库毗连

技能6:妙用Session工具

技能7:在COM工具中封装代码

技能8:正点猎取资本,早点开释资本

技能9:历程外的实行将就义牢靠性

技能10:显式利用选项

技能11:在子例程和函数中利用部分变量

技能12:将经常使用数据复制到剧本变量

技能13:制止从头界说数组

技能14:利用呼应缓冲

技能15:批处置内嵌剧本和Response.Write语句

技能16:在入手下手长工夫的义务之前先利用Response.IsClientConnected

技能17:利用<OBJECT>标志实例化工具

技能18:利用ADO工具和其他组件的TypeLib绑定

技能19:使用扫瞄器的考证才能

技能20:在轮回中制止字符串串连

技能21:启用扫瞄器和代办署理缓存

技能22:尽量利用Server.Transfer替换Response.Redirect

技能23:在目次URL尾部加斜线

技能24:制止利用服务器变量

技能25:晋级为最新的和最好的版本

技能26:调剂Web服务器

技能27:举行功能测试

技能28:读取资本链接




简介

功能是一个特征。您必要事后计划功能,或是在往后从头编写使用程序。换句话说,甚么是最年夜限制优化ActiveServerPages(ASP)使用程序功能的好战略?

本文为优化ASP使用程序和“VisualBasic(R)剧本编纂器(VBScript)”供应了很多技能。对很多圈套和缺点举行了会商。本文所列的倡议均在http://www.microsoft.com及其他站点长进行了测试,并且事情一般。本文假定您对ASP开辟有基础的了解,包含对VBScript和/或JScript、ASPApplication、ASPSession和其他ASP外部工具(哀求、呼应和服务器)。

ASP的功能,一般不止取决于ASP代码自己。我们其实不想在一篇文章中包括一切的至理名言,只在最初列出与功能相干的资本。这些链接包含ASP和非ASP主题,包含“ActiveX(R)数据工具(ADO)”、“部件工具模子(COM)”、数据库和“Internet信息服务器(IIS)”设置。这些是我们喜好的链接-务请存眷它们。

技能1:在Web服务器上缓存经常使用数据

典范的ASP页从后端数据库检索数据,然后将了局转换为超文本标志言语(HTML)。不管数据库的速率怎样,从内存检索数据要比从后端数据库检索数据快很多。从当地硬盘读取数据一般也要比从数据库检索数据快很多。因而,一般能够经由过程在Web服务器(在内存或磁盘)上缓存数据来改良功能。

缓存是典范的空间与工夫的折中。假如得当地缓存数据,您将看到功能会有惊人的进步。为使缓存发扬效率,它必需坚持常常重用的数据,并且从头盘算这些数据的价值是高贵的或对照高贵的。假如缓存充斥了渣滓数据,则是对存储器的华侈。

不常常变更的数据也是缓存的候选数据,由于您不必忧虑数据与数据库的同步成绩。组合框、援用表、DHTML碎片、可扩大标志言语(XML)字符串、菜单项和站点设置变量(包含数据源称号(DSN)、Internet协定(IP)地点和Web路径)都是缓存的候选数据。注重,您能够缓存数据的暗示而不是数据自己。假如ASP页不常常变动,并且缓存的本钱也十分高(比方,全部产物目次),请思索事后天生HTML,而不是在每次哀求时从头绘制。

数据应缓存在那边,有哪些缓存战略?数据常常缓存在Web服务器内存或Web服务器磁盘上。上面两个技能会商这些选项。

技能2:在Application或Session工具中缓存经常使用数据

ASPApplication和Session工具为在内存中缓存数据供应了便利的容器。既能够将数据付与Application工具,也可将数据付与Session工具,这些数据在HTTP挪用中将保存在内存中。Session数据按用户存储,而Application数据在一切用户间共享。

什么时候将数据载进Application或Session?一般,在Application或Session启动时加载数据。要在Application或Session启动时加载数据,请鄙人面两函数中增加响应的代码:Application_OnStart()或Session_OnStart()。这两个函数应当位于Global.asa;假如没有,能够增加这些函数。也能够在第一次必要数据时加载数据。要举行上述操纵,请在ASP页中增加一些代码(或编写可重用的剧本函数),这些代码反省数据是不是存在,并在数据不存在时加载数据。这是称为缓慢盘算的典范功能手艺的例子-在您切实其实必要它之前,不举行盘算。请看例子:

<%
FunctionGetEmploymentStatusList
Dimd
d=Application("EmploymentStatusList")
Ifd=""Then
FetchEmploymentStatusList函数(不显现)
从DB中掏出数据,前往数组
d=FetchEmploymentStatusList()
Application("EmploymentStatusList")=d
EndIf
GetEmploymentStatusList=d
EndFunction
%>

能够为每块所需的数据编写相似的函数。

数据应当以甚么格局存储?任何变量范例都可存储,由于一切剧本变量是各不不异的。比方,能够存储字符串、整型或数组。一般,您将以这些变量范例之一存储ADO纪录集的内容。若要猎取ADO纪录集衍生的数据,能够手工将数据复制到VBScript变量中,每次一个字段。利用一个ADO纪录集保存函数GetRows()、GetString()或Save()(ADO2.5),会更快更烦琐。完全而具体的内容已超越了本文的局限。上面的演示函数利用了GetRows()来前往纪录集数据的数组:

取纪录集,以数组前往
FunctionFetchEmploymentStatusList
Dimrs
Setrs=CreateObject("ADODB.Recordset")
rs.Open"selectStatusName,StatusIDfromEmployeeStatus",_
"dsn=employees;uid=sa;pwd=;"
FetchEmploymentStatusList=rs.GetRows()以数组前往数据
rs.Close
Setrs=Nothing
EndFunction

对下面示例的进一步改善应该是缓存该列表的HTML,而不是缓存数组。上面是一个复杂的典范:

取纪录集,以“HTML选项”列表前往
FunctionFetchEmploymentStatusList
Dimrs,fldName,s
Setrs=CreateObject("ADODB.Recordset")
rs.Open"selectStatusName,StatusIDfromEmployeeStatus",_
"dsn=employees;uid=sa;pwd=;"
s="<selectname=""EmploymentStatus">"&vbCrLf
SetfldName=rs.Fields("StatusName")ADO字段绑定
DoUntilrs.EOF
下</p>ActiveServerPage技术为应用开发商提供了基于脚本的直观、快速、高效的应用开发手段,极大地提高了开发的效果。在讨论ASP的安全性问题之前,让我们来看看ASP是怎么工作的。
灵魂腐蚀 该用户已被删除
沙发
发表于 2015-1-20 09:32:52 | 只看该作者
Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write
谁可相欹 该用户已被删除
板凳
发表于 2015-1-25 21:00:47 | 只看该作者
封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。
变相怪杰 该用户已被删除
地板
发表于 2015-1-26 05:03:54 | 只看该作者
运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。
5#
发表于 2015-1-29 14:36:03 | 只看该作者
Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write
再见西城 该用户已被删除
6#
发表于 2015-2-6 01:55:49 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
只想知道 该用户已被删除
7#
发表于 2015-2-14 21:52:27 | 只看该作者
Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write
爱飞 该用户已被删除
8#
发表于 2015-3-4 10:36:30 | 只看该作者
如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:
飘飘悠悠 该用户已被删除
9#
发表于 2015-3-11 18:22:55 | 只看该作者
下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。
若天明 该用户已被删除
10#
发表于 2015-3-19 07:02:13 | 只看该作者
以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。
兰色精灵 该用户已被删除
11#
发表于 2015-3-27 12:08:47 | 只看该作者
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
山那边是海 该用户已被删除
12#
发表于 2015-3-27 12:08:48 | 只看该作者
ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。
小妖女 该用户已被删除
13#
发表于 2015-3-27 12:08:48 | 只看该作者
尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 00:49

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表