ASP网站制作之ASP六年夜工具先容(1)
由于ASP提供的是一对多的服务,所以用户的一些特殊需求很难得到满足。工具Application工具Application工具是个使用程序级的工具,用来在一切用户间共享信息,并能够在Web使用程序运转时代耐久地坚持数据。
Application的属性:
办法以下:
Application工具没有内置的属性,可是我们能够自行创立其属性。
<%Application("属性名")=值%>
实在年夜部分Application变量都 寄存在Contents汇合中,当你创立一个新的Application变量时,实在就是在Contents汇合中增加了一项。上面两个剧本是等效的:
<%Application("greeting")="hello!"%>或<%Application.contents("greeting")="hello!"因为Application变量存在汇合里,以是假如想要全体显现,其办法我们已屡次利用,比方ForEach轮回。
<%
ForEachitemINApplication.Contents
Response.write("<br>"&item&Application.Contents(item))
next
%>
Application的办法:
Application的办法只要两个办法:一个是Lock,另外一个是Unlock。个中Lock办法用于包管统一时候只能一个用户对Application操纵。Unlock则用于作废Lock办法的限定。如:
<%
Application.Lock
Application("visitor_num")=Application("visitor_num")+1
Application.Unlock
%>
Application的事务:
1、Application_OnStart()
当事务使用程序启动时触发。
2、Application_OnEnd()
此事务使用程序停止时触发。
这两个事务历程都是必需界说在Global.asp文件中,一样平常把毗连数据的函数界说在这两个事务,然后放在Global.asp中。比方:
SubApplication_OnStart
Application("tt18_ConnectionString")="driver={SQL
Server};server=jeff;uid=sa;pwd=;database=test"
EndSub
一个数组可以被界说成Application工具,不外这个数组只能作为一个工具保留,而不克不及用Application(0)掏出其值。能够界说一个一时数组完成这类功效。如:
<%
dimArray()
Array=Application("array")
fori=0toubound(array)
Response.writeArray(i)
nexti
%>
一样要修正这个Application工具也能够界说一个一时数组,把Application工具赋给数组,然后修正这个数组的元素,最初把数组赋回Application工具。如:
<%
dimArray()
Array=Application("array")
Array(0)="jeff"
Array(1)="zhu"
Application.lock
Application("array")=Array
Application.unlock
%>
ObjectContext工具
该工具用于把持ActiveServerPages的事件处置。事件处置由MicrosoftTransactionServer(MTS)办理。
事务
ObjectContext.OnTransactionAbort
由保持的事件处置事务引发,在剧本完成处置后产生。
ObjectContext.OnTransactionCommit
由乐成的事件处置事务引发,在剧本完成处置后产生。
办法
ObjectContext.SetAbort
显式的保持一次事件处置。
ObjectContext.SetComplete
掩盖后面任何挪用ObjectContext.SetAbort办法的挪用。
Request工具
Request工具用于承受一切从扫瞄器发往你的服务器的哀求内的一切信息。
汇合
Request.ClientCertificate(key)
一切客户证书的信息的汇合。关于Key,该汇合具有以下的关头字:
Subject
证书的主题。包括一切关于证书收条的信息。能和一切的子域后缀一同利用。
Issuer
证书的刊行人。包括一切关于证书考证的信息。除CN外,能和一切的子域后缀一同利用。
VadidFrom
证书刊行的日期。利用VBScript格局。
ValidUntil
该证书不在无效的工夫。
SerialNumber
包括该证书的序列号。
Certificate
包括全部证书内容的二进制流,利用ASN.1格局。
关于SubField,Subject和Issuer关头字能够具有以下的子域后缀:(好比:SubjectOU或IssuerL)
C
劈头国度。
O
公司或构造称号。
OU
构造单位。
CN
用户的惯例称号。
L
部分。
S
州(或省)。
T
团体或公司的题目。
GN
给命名称。
I
初始。
当文件cervbs.inc(VBScript利用)或cerjavas.inc(Jscript利用)经由过程利用#INCLUDE导向包括在你的ActiveServerPage里时,上面两个标记可使用:
ceCertPresent
指明客户证书是不是存在,其值为TRUE或FALSE。
ceUnrecongnizedIssure
指明在该链表中的最初的证书的刊行者是不是未知,其值为TRUE或FALSE。
Request.Cookies(Cookie[(key).Attribute])
Cookie的汇合。同意取得扫瞄器的Cookie。Cookie指明前往那一个Cookie。Key用于从Cookie字典中前往具有某一关头字的Cookie值。关于Attribute,你能利用属性HasKeys来断定某一Cookie是不是具有子关头字。HasKeys的值为TRUE或FALSE。
Request.Form(Parameter)[(Index).Count]
</p>下一页
由于ASP还是一种Script语言所没除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编绎的时间考验,同时我们还不知其背后的组件会是一个什么样的状况; ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题: 交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。 交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。 我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标. 虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。 我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标. 代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。 我想问如何掌握学习节奏(先学什么再学什么)最好详细点? 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
页:
[1]