|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
无法实现跨操作系统的应用。当然这也是微软的理由之一,只有这样才能发挥ASP最佳的能力。可是我却认为正是Windows限制了ASP,ASP的概念本就是为一个能让系统运行于一个大的多样化环境而设计的;速度|履行 技能之一:进步利用Request纠合的效力 会见一个ASP纠合来提取一个值是费时的、占用盘算资本的进程。由于这个操作包括了一系列对相干纠合的搜刮,这比会见一个部分变量要慢很多。因而,假如盘算在页面中屡次利用Request纠合中的一个值,应当思索将其存贮为一个部分变量。
例如将代码写成上面的模式以加速剧本引擎处置速度:
strTitle=Request.Form("Title")
strFirstName=Request.Form("FirstName")
strLastName=Request.Form("LastName")
If Len(strTitle) Then strTitle=strTitle & " "
If strFirstName="" Then strFullName=strTitle & " " & strLastName
Elseif Len(strFirstName)=1 Then
strFullName=strTitle & strFirstName & ". " & strLastName
Else
strFullName=strTitle & strFirstName & " " & strLastName
End If
技能之二:直接会见恰当的纠合
假如不是别无选择,不然不要利用strPage=Request("page")的如许的模式来获得参数,由于这将按按次搜刮全体的纠合―QueryString、Form、Cookies、ClientCertificate、ServerVarible直到发明第一个婚配值的称号。如许做比直接会见恰当的纠合效力低,而且是不平安的,除非能相对包管这个值不会呈现在别的一个纠合中。
例如,能够但愿搜刮知足客户恳求的WEB办事器称号,这经由过程呈现在每一个查询中的Request.ServerVarables纠合中寻觅“SERVER_NAME”来完成。但是,假设其他的纠合也包括名为“SERVER_NAME”的值(键名不辨别巨细写),当利用Request("server_Name")时,就会失掉毛病的了局。总而言之,应尽量直接会见恰当的纠合。
技能之三:在费时操作前利用Response.IsClientConnected属性
利用Response.IsClientConnected是察看用户是不是仍连到办事器并正在载入ASP创立的网页的有效体例。假如用户断开毗连或中断下载,咱们就不必再华侈办事器的资本创立网页,由于缓冲区内容将被IIS抛弃。所以,对那些需求大批工夫盘算或资本利用较多的网页来讲,值得在每阶段都反省旅游者是不是已离线:
…… Code to create first part of the page
If Response.IsClientConnected Then
Response.Flush
Else
Response.End
End If
…… Code to create next part of page
技能之四:优化ASP中的ADO操作
凡是面言,数据组成了WEB站点的实践内容。所以,优化ADO操作以减速ASP代码履行,非常有效:
a. 仅选择所需的列:当翻开ADO纪录集时,除非需求取得一切的列,不然不该主动地利用表名(即SELECT *)。利用独自的列意味着将削减发送到办事器或从办事器掏出的数据量。即便需求利用全体列,独自地定名每一个列也会取得最好的功能,由于办事器不用再注释这些列的名字。
b. 尽量的利用存储进程。存储进程是事后编译的法式,含有一个已筹办好的履行企图,所以比SQL语句履行更快。
c. 利用恰当的光标和锁定形式。假如所做的全体任务只是从纪录集中读取数据,并将其显示在屏幕上,那末就利用缺省的只能前移、只读的纪录集。ADO用来保护纪录和锁定的细节的任务越少,履行的功能就越高。
d. 利用对象变量。当遍历纪录集时一个一定能进步功能的办法是利用对象变量指向纠合中的成员。例如:
While Not RsGc.EOF
Response.Write "工程称号:" & RsGc("GcMC") & "(工程代码:" & RsGc("GcCode")
& ")
"
RsGc.MoveNext
Wend
可以用改写为上面的代码以加速履行:
set GcMc=RsGc("GcMc")
set GcCode=RsGc("GcCode")
While Not rsGc.EOF Response.Write "工程称号:" & GcMc & "(工程代码:" & GcCode & ")
" RsGc.MoveNext
Wend
新的代码创立了对象变量的援用,所以可使用对象变量而不是实践的变量,这意味着剧本引擎的任务削减了,由于在纠合中停止索引的次数变少了。
技能五:不要混用剧本引擎
咱们晓得,ASP页面中既可使用VBScript,也能够利用JScript。然而在统一个页面上同时利用JScript和VBScript则是不成取的。由于办事器必需实例化并测验考试缓存两个(而不是一个)剧本引擎,这在必定水平上增添了体系承当。因而,从功能上思索,不该在统一页面中混用多种剧本引擎。
</p> 使用filesystemobject,可以对服务器上的文件进行操作,浏览、复制、移动、删除等。有ado的支持,asp对数据库的操作非常得心应手。你甚至可以像使用本地数据库那样,管理远程主机上的数据库,对表格、记录进行各种操作。 |
|