因胸联盟 发表于 2015-1-16 23:21:09

ASP网页编程之ASP技能

实现规模效益。与传统的用户拥有硬件软件所有权和使用权以及传统的应用服务商提供一对一的服务模式不同,ASP拥有应用系统所有权,用户拥有使用权,应用系统集中放在ASP的数据中心中,集中管理,分散使用,以一对多的租赁的形式为众多用户提供有品质保证的应用技术服务,实现规模效益。技能技能1:给使用层文件利用GLOBAL.ASA
技能2:从产物源代码中移往HTML正文
技能3:多个Response.write声明
技能4:利用<OBJECT>标记例示工具
技能5:尽量的利用当地(部分)变量
技能6:制止多维数组
技能7:制止公用(全局)变量
技能8:利用笔墨路径
技能9:利用"Dictionary"工具
技能10:充实使用扫瞄器的回退功效
技能11:制止利用服务器端变量
技能12:利用"optionexplicit"
技能13:将收罗到的值拷贝到当地(部分)变量傍边
技能14:审慎利用session工具
技能15:做功能测试

*技能1:给使用层文件利用GLOBAL.ASA
将文件载进GLOBAL.ASA中的一个使用层数组中,而不是经由过程利用ASP文件体系工具在页面上读取文件。
GLOBAL.ASA可用于指定事务剧本,也可用于声明具有session或使用程序局限的工具。它不间接显现给用户,而是存储使用层事务的信息和工具。然后经由过程页面就能够指向存无数据的使用层数组。这就意味着每有一个服务器端哀求就读一次文件,不是每一个用户每页读一次。你能够运转一个自力的ASP文件往革新使用层数组的内容,同时你也能够思索利用dictionary工具(见技能9)。这个技能能够年夜年夜加速你的体系速率。那末将怎样完成该技能呢?
假如你是一个剧本编写职员,必需利用文件体系工具读取文件放进一个数组或一个dictionary工具中。然后在GLOBAL.ASA中读取文件而且把数组(放有你读取的文件内容)或dictionary工具放到使用层声明中。如许便可让用户在数组或dictionary工具中存失信息,而不用每次经由过程一个ASP哀求往提交信息。
但大概你会想“假如缓存中的内容必要更新又该怎样办呢?我敢赌博不会用到。”实在否则。假如缓存中的内容必要更新,你能够挪用一个包括有可实行使用程序锁天命令剧本的仅办理员可存取的ASP文件,在数组或dictionary工具中更新缓存信息,最初实行使用程序锁天命令。

*技能2:从产物源代码中移往HTML正文(IIS3.0合用)
不错,难写的一定也难明。开个打趣,这不代表要你把一切的HTML正文往失落(剧本正文就挺好的),年夜局限的HTML文本都能成批的拷贝到客户端。如许的话,你的剧本在IIS3.0上会运转得更快(在IIS4.0中,HTML正文不再见招致实行速率的下降)。

*技能3:多个Response.write声明
假如你是在代码中的好几个中央用<%=...%>格局誊写输入了局,那末思索一下把这些了局合到一块,用一个Response.write语句写出来。然后你再看看你的HTML代码和vbscript剧本的构成。不要把HTML和vbscript剧本分布得太开,只管写成成块的HTML和vbscript剧本。
*技能4:利用<OBJECT>标记例示工具
假如你必要指向那些大概用不着的工具,那末就用<OBJECT>标记例示,而不是用Server.createobject.用Server.createobject将立即天生该工具,假如你今后都用不着它的话,就即是华侈资本。

*技能5:尽量的利用当地(部分)变量
(以下的新技能将代替较早前公布的“在一行内界说变量”,个中包括有一些毛病概念):部分变量是在子程序和函数中界说的(也就是常说部分局限的变量),这些变量被编译成数字指向并放进一张表中。这些部分变量的指向能够经由过程一次编译完成。而全局变量则是在运转时被实行的。这就意味着部分变量的存取要比全局变量快好几倍。并且,多维全局变量是个中最慢的,当第一次利用一个多维全局变量时,在新的工具发生之前,就要在全部工具模子中搜刮一遍同名的工具。
以下是一个十分罕见的例子:
Foo.bar.blah.baz=Foo.bar.blah.qaz(1)
IfFoo.bar.blah.zaq=Foo.bar.blah.abcthen
运转时发生以下了局:
1)变量Foo被界说为一个全局变量
2)变量bar被界说为Foo的一个成员
3)变量blah被界说为Foo.bar的一个成员
4)变量qaz被界说为Foo.bar.blah的一个成员
5)挪用Foo.bar.blah.quaz(1)
6)反复1至3。体系其实不晓得假如挪用qaz改动了工具模子1-3步必需从头实行
7)界说baz为Foo.bar.blah的成员,输入值
8)反复1-3,实行zaq
9)反复1-3,实行abc
正如你看到的,效力极为低下,最快的办法就是把这些代码写在vbscript中:
Setmyobj=Foo.bar.blahdotheresolutionofblahONCE
Myobj.baz=myobj.qaz(1)
IfMyobj.zaq=Myobj.abcthen

*技能6:制止反复界说数组
当我们在利用dim时,制止从头界说数组。由于你大概要用redim往从头界说数组的巨细。至于要做如许的操纵的话,假如你的呆板内存不是很年夜,那末最幸亏一入手下手就思索到最坏的盘算往设置数组的长度大概设置最好形态时的长度,在十分需要时才利用redim。固然如许其实不意味着要往增添内存,假如你不是很必要的话。
以下举例申明不得当的利用redim
<%
dimMyArray()
RedimMyArrray(2)
MyArray(0)="hello"
MyArray(1)="good-bye"
.
.
.
someothercodewhereyouendupneeding
morespacehappensthen...
RedimPreserveMyArray(5)
MyArray(2)="morestuff"
MyArray(3)="evenmorestuff"
MyArray(4)="yetmorestuff"
%>
实在在入手下手就界说myarray(5),而今后必要的话再用redim往增添他的巨细,如许的话大概会占用一些内存,但速率就要快很多了。

*技能7:制止公用(全局)变量
不要利用用public界说的变量。假如你是写vbscript或在ActiveX控件或javaapplet中存取变量,那末尽量制止公用变量。public关头字一般是为今后利用计划的,既然public不克不及给你带来甚么优点,那最好仍是用dim吧。

*技能8:利用相对路径
假如大概的话只管制止利用绝对路径,而利用相对路径。利用绝对路径将必要IIS前往以后服务器路径,这就意味着对IIS的特别哀求形成实行速率低下。
注:慢点就慢点呗,利用绝对路径移植甚么的都便利很多呀。

*技能9:利用"Dictionary"工具
VBScript中供应的dictionary工具可供应疾速查找和恣意带关头字数据的存储。经由过程dictionary工具能够依据关头字存取数组中的各项数据,如许就可以更快地找到在内存中不一连的内容(由于你是指定你正在利用的关头字,而不是要晓得工具在数组中寄存的地位)。假如你要查找的长短线性的关头字数据,利用dictio_nary工具就要快很多了。
但是,假如关头字数据在内存中是一连的,那末数组在查找、存储数据起来将更快。同时也必要注重的是在dictionary中创建索引要比在数组中慢。你应当选择对你来讲效果最好的数据布局。

*技能10:充实使用扫瞄器的回退功效
假如你利用的是个smart的扫瞄器,那末他会帮你做良多的回退事情,只需用得着,无妨多用用。那末,经由过程你的剧本实行回退,当有任何毛病产生时你能够回到后面往,并从后会见数据库。但要记着的是,当你会见服务器上存在的数据库时就要实行一次对数据库的操纵。假如你要前往的谁人表单有良多变量的话,那就有点划不来了。假如你的确晓得你必要在客户端实行良多代码,那末为了加速实行速率把代码移到客户端。当你在客户端运转时,处置器就回你了,服务器呢,只好用他本身的处置才能去向理他所接到的哀求。另有个好举措,假如你利用的表单顶用了良多服务器真个剧本而且有很多前提输出,那末最好把这些触发反响的代码放到客户端剧本引擎中往(好比vbscript,javascript)。疏忽这些,服务器代码运转得就快了,由于关于那些不是很需要的代码就不送到服务器端实行了。固然这仅对那些对照小的代码合用,至于年夜的嘛,就不太符合了。

*技能11:制止利用服务器端变量
经由过程服务器端变量举行会见数据时,就必要web向服务器提出哀求,然后搜集一切的服务器端变量,而不单单只是你哀求的谁人变量。这就相似于你要从发霉阁楼的盒子里找一样特定的器材。当你要找谁人器材时,起首要从阁楼里找到盒子。当你哀求一个变量时服务器也是一样,当碰到你哀求的哪一个变量时触发实行,然后再往哀求那些不会引发实行点的变量。

*技能12:利用"optionexplicit"
在asp文件中写上<%optionexplicit%>。和c分歧,vb同意你在不强迫界说变量之前就能够利用该变量。把optionexplicit翻开有助于辨认没界说的变量,利用没界说的变量就会呈现毛病提醒信息。同时也能够使那些没声名的部分变量不法。没声名的部分变量和全局变量一样慢(比界说过的部分变量要慢一倍)。把optionexplicit翻开天然能帮你把这些小虫子从你的代码中往失落。

*技能13:
将收罗到的值拷贝到当地(部分)变量傍边假如有一些值是你要重复用到的话,把这些值用部分变量的情势拷贝到客户端。每次当你要用到这些值时,就省往了你往那一堆值内里往找了,如许也就加速了剧本运转速率。

*技能14:审慎利用session工具
利用session工具能够存储一些用户</p>结论:和PHP一样,ASP简单而易于维护,很适合小型网站应用,通过DCOM和MTS技术,ASP甚至还可以完成小规模的企业应用,但ASP的致命缺点就是不支持跨平台的系统,在大型项目开发和维护上非常困难。

山那边是海 发表于 2015-1-20 05:58:48

Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")

老尸 发表于 2015-1-24 12:03:39

代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。

飘飘悠悠 发表于 2015-1-25 22:17:49

还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。

仓酷云 发表于 2015-1-31 14:21:41

Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write

谁可相欹 发表于 2015-2-6 19:42:19

它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。

只想知道 发表于 2015-2-18 11:10:27

封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。

海妖 发表于 2015-3-6 04:42:38

多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。

因胸联盟 发表于 2015-3-12 20:45:37

ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。

爱飞 发表于 2015-3-20 02:28:06

ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。
页: [1]
查看完整版本: ASP网页编程之ASP技能