仓酷云

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

[学习教程] ASP网页设计优化ASP使用程序技能四则

[复制链接]
简单生活 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 23:47:00 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
ASP最大的缺点在于网络的安全性和可靠性,企业将经营数据放在开放的平台上,最大的担忧就是如何保证这些数据不被其他人破坏。程序|技能|优化|技能|优化本文将向人人先容四则优化ASP使用程序的技能。

1.将常常利用的数据缓存在Application或Session工具中
  ASP的Application和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
FetchEmploymentStatusListfunction(notshown)
fetchesdatafromDB,returnsanArray
d=FetchEmploymentStatusList()
Application(?EmploymentStatusList?)=d
EndIf
GetEmploymentStatusList=d
EndFunction
%>


  我们能够为所必要的每一个数据块编写相似的函数。

2.将代码封装在COM工具中
  假如你的Web使用程序中有很多VBScript或JScript代码,你能够常常将代码移到编译的COM工具中,从而可改良功能。将代码封装在COM工具中另有一些除进步功能以外的其他长处:

  (1)COM工具有益于将暗示逻辑与营业逻辑分隔;

  (2)COM工具能够包管代码反复利用;

  (3)用VB、VC++或VisualJ++编写的代码比ASP更简单调试。

  COM工具也出缺点,包含初始化工夫长和必要分歧的程序计划技能。值得注重的是,在大批ASP代码被封装进COM工具时,大概不会使功能有所改善,反而会引发功能下落。这类情形一般是创立和挪用COM工具的体系开支凌驾了编译代码的体系开支。因而,我们必要重复地实验,以断定甚么样的ASP剧本和COM工具代码的组合能够发生最好的功能。

3.处置内嵌剧本和Response.Write语句
  VBScript语法的<%=expression%>是将“expression”的值写到ASP输入流中。假如呼应缓冲未启用,那末实行个中的每条语句城市以很多小的数据包经由过程收集将数据写到扫瞄器中。如许,实行速率很慢,并且交叉实行大批的剧本和HTML,将会引发剧本引擎和HTML之间的切换,从而极年夜地下降了功能。因而,我们可使用上面的技能,即便用Response.Write挪用取代绑缚严密的内嵌表达式。

  比方,鄙人面的示例中,在每行的每字段对呼应流有一次写操纵,每行在VBScript和HTML之间有屡次切换:

<table>
<%ForEachfldinrs.Fields%>
<th><%=fld.Name%></th>
<%
Next
WhileNotrs.EOF
%>
<tr>
<%ForEach
fldinrs.Fields%>
<td><%=fld.Value%></td>
<%Next
</tr>
<%rs.MoveNextWend%>
</table>


  为了使下面的代码运转效力更高,我们能够使用上面的代码,代码的每行对呼应流有一次写操纵,一切的代码都包括在一个VBScript程序内:

<%
Response.Write(?<table>?)
Foreachfldinrs.Fields
Response.Write(?<th>?&&fld.Name&&?</th>?&&vbCrLf)
Next
WhileNotrs.EOF
Response.Write(?<tr>?)
ForEachfldinrs.Fields%>
Response.Write(?<td>?&&fld.Value&&?</td>?&&vbCrLf)
Next
Response.Write(?</tr>?)
Wend
Response.Write(?</table>?)
%>

  当禁用呼应缓冲时,这一技能的效果出格分明。最好启用呼应缓冲,然后看批处置Response.Write是不是有助于进步功能。

4.制止从头断定数组的维数
  在使用数组时,我们应只管制止利用Redim数组。就功能而言,假如盘算机的物理内存巨细无限,最好将数组的初始维数设置为其最倒霉的情形,大概将维数设置为其最好的情形,然后再按必要从头断定维数。

  在开辟ASP的Web使用程序过程当中,充实使用以上技能会使你的Web程序具有较高的实行功能。</p>使用cdonts,可以发送、查看邮件,实现webmail的功能。结合wsh,可以实现对nt主机的管理,如nt用户管理、iis虚拟主机设置、exchange邮箱设置等等,就像管理本地机一样方便。
深爱那片海 该用户已被删除
12#
发表于 2015-3-20 13:40:24 | 只看该作者
虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。
再见西城 该用户已被删除
11#
发表于 2015-3-13 05:10:03 | 只看该作者
先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习
变相怪杰 该用户已被删除
10#
发表于 2015-3-6 18:36:45 | 只看该作者
哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?
若相依 该用户已被删除
9#
发表于 2015-2-20 18:41:37 | 只看该作者
跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
小妖女 该用户已被删除
8#
发表于 2015-2-7 06:23:48 | 只看该作者
我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。
因胸联盟 该用户已被删除
7#
发表于 2015-2-1 13:44:34 | 只看该作者
ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。
谁可相欹 该用户已被删除
6#
发表于 2015-1-31 15:34:45 来自手机 | 只看该作者
ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。  因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。
简单生活 该用户已被删除
5#
 楼主| 发表于 2015-1-27 05:16:32 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
活着的死人 该用户已被删除
地板
发表于 2015-1-22 20:02:01 | 只看该作者
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
只想知道 该用户已被删除
板凳
发表于 2015-1-21 12:19:10 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
愤怒的大鸟 该用户已被删除
沙发
发表于 2015-1-18 17:55:39 | 只看该作者
兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-9-21 05:34

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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