仓酷云

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

[学习教程] ASP网页编程之最优化ASP程序功能(转)(二)

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

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

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

x
实现规模效益。与传统的用户拥有硬件软件所有权和使用权以及传统的应用服务商提供一对一的服务模式不同,ASP拥有应用系统所有权,用户拥有使用权,应用系统集中放在ASP的数据中心中,集中管理,分散使用,以一对多的租赁的形式为众多用户提供有品质保证的应用技术服务,实现规模效益。程序|功能|优化数据库会见

  存取数据库将会很快地减慢程序,可是没无数据库,很多站点也不可。不要利用内植的SQL语句来存取数据库,你能够经由过程利用存储历程来会见数据库,这将会博得很年夜的程序功能,并且,也十分得天真。利用存储历程,并共同ActiveXDataObjects(ADO),就可以最年夜水平地把持存储历程怎样输入。

  确认数据库经由了索引,由于这将间接影响到使用程序的全体功能。同时,注重在数据库上运转更新统计程序,从而更好地跟踪数据的散布。注重,一些数据库,好比MSAccess,不适于企业级使用,而SQLServer7.0大概Oracle更适于做这些。

  让SQL做计划好的事情,包含对数据举行盘算、到场、排序和分组。不要用其他言语写这些功效,能够编写一个查询来完成。

  任何要盘算的字段就是上面所示的复杂语法:

  SELECTcount(*)FROMpublishersWHEREstate=NY

  假如要盘算一个特别字段,必需先按谁人字段分组,不然,将不会事情:

  SELECTcount(city),cityFROMpublishersGROUPBYcity

  接着断定排序办法:

  SELECT*FROMTableNameWHEREFieldName>50ORFieldName<100ORDERBYFieldName2,FieldName3

  仍旧利用ODBC体系大概文件DSN来毗连数据库,大概利用很快的OLEDB手艺来毗连。利用后者,当挪动Web文件时,不再必要修正设置。

  OLEDB位于使用程序与ODBC层之间。在ASP页面中,ADO就是位于OLEDB之上的程序。挪用ADO时,起首发送给OLEDB,然后再发送给ODBC层。能够间接毗连到OLEDB层,这么做后,将进步服务器真个功能。怎样间接毗连到OLEDB呢?

  假如利用SQLServer7,利用上面的代码做为毗连字符串:

strConnString="DSN=;DRIVER={SQLSERVER};"&_
"UID=myuid;PWD=mypwd;"&_
"DATABASE=MyDb;SERVER=MyServer;"

  最主要的参数就是“DRIVER=”部分。假如你想绕过ODBC而利用OLEDB来会见SQLServer,利用上面的语法:

strConnString="Provider=SQLOLEDB.1;Password=mypassword;"&_
"PersistSecurityInfo=True;UserID=myuid;"&_
"InitialCatalog=mydbname;"&_
"DataSource=myserver;ConnectTimeout=15"

  为何这很主要

  如今你大概奇异为何进修这类新的毗连办法很关头?为何不利用尺度的DSN大概体系DSN办法?好,依据Wrox在他们的ADO2.0程序员参考书本中所做的测试,假如利用OLEDB毗连,要比利用DSN大概DSN-less毗连,有以下的功能进步体现:

  功能对照
SQLAccess
OLEDBDSNOLEDBDSN
毗连工夫:1882毗连工夫:6299
反复1,000个纪录的工夫:29005400反复1,000个纪录的工夫:100950

  这个结论在Wrox的ADO2.0程序员参考宣布。工夫是以毫秒为单元,反复1,000个纪录的工夫是以服务器油标的体例盘算的。

  ●只要大概,就利用客户端剧本对用户输出举行考证,以此来最小化HTTP哀求的轮回操纵。

  假如扫瞄用具备实行JavaScript或其他剧本的才能,请充实使用,从而束缚服务器真个资本。

  上面的VBScript剧本在用户的扫瞄器端运转,反省用户信息,然后再提交给服务器:

<SCRIPTLANGUAGE="VBScript">
<!--
SubbtnEnter_OnClick
DimTheForm
SetTheForm=Document.MyForm
IfIsNumeric(TheForm.Age.Value)Then
TheForm.submit
Else
Msgbox"Pleaseenteranumericalage."
Endif
EndSub
//-->
</SCRIPT>

<FORMmethod="POST"name=MyFormaction="myfile.asp">
Name:<INPUTtypr="text"name="Name">
Age:<INPUTtype="text"name="Age">
<INPUTtype="button"name="btnEnter"value="Enter">
</FORM>

  ●利用部分变量,而不要利用全局变量

  由于部分变量能够很快地被ASP剧本引擎所存取,全部名字空间不用被搜刮。制止重界说数组,在数组初始化时就分派充足的尺寸,会年夜年夜地进步效力。这么做大概华侈一些内存,可是确博得了速率,特别是在服务器有很年夜的负载时。

  ●利用<OBJECT>标志创立工具

  假如必要援用一个实践上大概不被利用的工具,利用<OBJECT>标志来例示它们,而不要用Server.CreateObject。后者将招致工具当即被创立,而<OBJECT>是当工具被初次援用时才被创立。

  好比,上面的代码演示了利用<OBJECT>标志来创立一个使用程序局限内的ADRotator工具实例:

<OBJECTrunat=serverscope=Applicationid=MyAdsprogid="MSWC.AdRotator">
</OBJECT>
  然后,就能够在其他页面援用它:

  ●翻开“OptionExplicit”

  在VB和VBScript中,你能够不必明白地界说就利用变量。可是翻开“明白界说变量”选项,将有助于进步程序功能。不决义的部分变量是很慢的,由于在变量创立前,全部的名字空间都要搜刮,看看是不是变量已存在。以是,请翻开“OptionExplicit”,这是一个好的编程习气。

  ●慎用Server.MapPath

  除非必需,不要利用Server.MapPath!相反,假如晓得路径,就利用明白的笔墨路径来暗示。利用MapPath,将请求IIS往取回以后服务器路径,这意味着对IIS一个特别的哀求,从而下降了程序功能。别的的完成这个事情的办法是在部分变量中保留路径信息,当必要利用它时,服务器就不必再被过分哀求。

  反省如何做

  你能够经由过程上面的工具来测算服务器功能:TaskManager,NetMon和PerfMon。用WCAT(WebCapacityAnalysisTool)丈量服务器的容量。你可使用WCAT来反省Internet信息服务和收集设置怎样呼应分歧的客户端对内容、数据和HTML页面的哀求。测试的了局能够被用来决意怎样最优化服务器和收集设置。

  经由过程最优化ASP使用程序功能,Web站点使用将会变得很快,终极做到:当不必要时,就不必要往做影响功能的点击。

  总结

  当谈到ASP功能时,要触及到很多方面,本文已会商了一些。可是,关于每一个详细</p>缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。
海妖 该用户已被删除
沙发
发表于 2015-1-20 08:43:19 | 只看该作者
我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。
金色的骷髅 该用户已被删除
板凳
发表于 2015-1-25 11:36:39 | 只看该作者
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
若天明 该用户已被删除
地板
发表于 2015-1-30 09:47:13 | 只看该作者
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。
admin 该用户已被删除
5#
发表于 2015-2-6 09:43:51 | 只看该作者
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。
冷月葬花魂 该用户已被删除
6#
发表于 2015-2-15 22:09:11 | 只看该作者
接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。
飘飘悠悠 该用户已被删除
7#
发表于 2015-3-4 15:00:28 | 只看该作者
不能只是将它停留在纸上谈兵的程度上。
小女巫 该用户已被删除
8#
发表于 2015-3-11 20:08:41 | 只看该作者
ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。
若相依 该用户已被删除
9#
发表于 2015-3-19 11:04:57 | 只看该作者
哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?
第二个灵魂 该用户已被删除
10#
发表于 2015-3-27 21:09:58 | 只看该作者
运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-5-14 09:01

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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