大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> ASP专区 -> ASP六大对象介绍(绝对详细)

ASP六大对象介绍(绝对详细)

时间: 2021-07-31 作者:daque

application东西   application东西是个运用步调级的东西,用来在一切用户间共享消息,并不妨在web运用步调运转功夫长久地维持数据。application的属性:  本领如次:   application东西没有内置的属性,然而咱们不妨自行创造其属性。  <% application("属性名")=值 %>   本来大局部application变量都 寄存在contents汇合中,当你创造一个新的application变量时,本来即是在contents汇合中增添了一项。底下两个剧本是等效的:   <% application("greeting")="hello!" %> 或 <% application.contents("greeting")="hello!"因为application变量生存汇合里,以是即使想要十足表露,其本领咱们仍旧屡次运用,比方for each轮回。   <%for each item in application.contents response.write("<br>"&item&application.contents(item))next%> application的本领:   application的本领惟有两个本领:一个是lock,另一个是unlock。个中lock本领用来保护同一功夫只能一个用户对application操纵。unlock则用来废除lock本领的控制。如:<%application.lockapplication("visitor_num")=application("visitor_num")+1application.unlock%> application的事变: 1、application_onstart()   当事变运用步调启用时触发。 2、application_onend()  此事变运用步调中断时触发。   这两个事变进程都是必需设置在global.asp文献中,普遍把贯穿数据的因变量设置在这两个事变,而后放在global.asp中。比方:sub application_onstart application("tt18_connectionstring") = "driver={sql server};server=jeff;uid=sa;pwd=;database=test" end sub   一个数组不妨被设置成application东西,然而这个数组只能动作一个东西生存,而不许用application(0)掏出其值。不妨设置一个偶尔数组实行这种功效。如:<%dim array()array=application("array")for i = 0 to ubound(array) response.write array(i)next i%>   同样要窜改这个application东西也不妨设置一个偶尔数组,把application东西赋给数组,而后窜改这个数组的元素,结果把数组赋回application东西。如:<%dim array()array=application("array")array(0)="jeff"array(1)="zhu"application.lockapplication("array")=arrayapplication.unlock%>objectcontext东西 该东西用来遏制active server pages的工作处置。工作处来由microsoft transaction server (mts)处置。 事变 objectcontext.ontransactionabort 由停止的工作处置事变激励,在剧本实行处置后爆发。 objectcontext.ontransactioncommit 由胜利的工作处置事变激励,在剧本实行处置后爆发。 本领 objectcontext.setabort 显式的停止一次工作处置。 objectcontext.setcomplete 掩盖前方任何挪用objectcontext.setabort本领的挪用。 request东西request东西用来接收一切从欣赏器发往你的效劳器的乞求内的一切消息。汇合request.clientcertificate(key[subfield])一切存户文凭的消息的汇合。对于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导向包括在你的active server page里时,底下两个标记不妨运用: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]填写在html的表单中一切的数据的汇合。parameter是在html表单中某一元素的称呼。当某一参数具备不只一个值(比方,当在<select>中运用multiple属性时)时,运用index。当某一参数具备多值时,count指明多值个数。request.querystring(varible)[(index).count]查问字符串的一切值的汇合。varible是在查问字符串某一变量的称呼。当某一变量具备多于一个值时,运用index。当某一参数具备多值时,count指明值的个数。request.servervaribles(server environment variable)情况变量的汇合。承诺读取http头。你不妨经过运用http_前缀来读取任何头消息。比方,http_user_agent接收存户代劳http头(欣赏器典型)。除其余,你不妨运用下表所示的变量赢得任何情况消息。all_http存户端发送的一切http标头,他的截止都有前缀http_。all_raw存户端发送的一切http标头,其截止和存户端发送时一律,没有前缀http_ appl_md_path运用步调的元数据库路途。appl_physical_path与运用步调元数据库路途相映的物理路途。auth_password当运用基础考证形式时,存户在暗号对话框中输出的暗号。auth_type这是用户考察受养护的剧本时,效劳器用来检查用户的考证本领。auth_user代考证的用户名。cert_cookie独一的存户文凭id号。cert_flag存户文凭标记,如有存户端文凭,则bit0为0。即使存户端文凭考证失效,bit1被树立为1。cert_issuer用户文凭中的刊行者字段。cert_keysize安定套接字层贯穿要害字的位数,如128。cert_secretkeysize效劳器考证个人要害字的位数。如1024。cert_serialnumber存户文凭的序列号字段。cert_server_issuer效劳器文凭的刊行者字段cert_server_subject效劳器文凭的中心字段。cert_subject存户端文凭的中心字段。content_length存户端发出实质的长度。content_type存户发送的form实质或http put的数据典型。gateway_interface效劳器运用的网关界面。https即使乞求穿过安定通道(ssl),则归来on。即使乞求来自非安定通道,则归来off。https_keysize安定套接字层贯穿要害字的位数,如128。https_secretkeysize效劳器考证个人要害字的位数。如1024。https_server_issuer效劳器文凭的刊行者字段。https_server_subject效劳器文凭的中心字段。instance_idiis范例的id号。instance_meta_path相应乞求的iis范例的元数据库路途。local_addr归来接收乞求的效劳器地方。logon_user用户登录windows nt的帐号path_info存户端供给的路途消息。path_translated经过由假造至物理的映照后获得的路途。query_string查问字符串实质。remote_addr发出乞求的长途长机的ip地方。remote_host发出乞求的长途长机称呼。request_method提出乞求的本领。比方get、head、post之类。script_name实行剧本的称呼。server_name效劳器的长机名、dns地方或ip地方。server_port接收乞求的效劳器端标语。server_port_secure即使接收乞求的效劳器端口为安定端口时,则为1,要不为0。server_protocol效劳器运用的和议的称呼和本子。server_software应答乞求并运转网关的效劳器软硬件的称呼和本子。url供给url的基础局部。 本领request.binaryread(count)接受一个html表单的未过程处置的实质。当挪用此本领时,count指明要接受几何字节。在挪用此本领后,count指明本质上接受到几何个字节。属性request.totalbytes查问体的长度,以字节为单元response东西  response东西用来向存户端欣赏器发送数据,用户不妨运用该东西将效劳器的数据以html的方法发送给用户端的欣赏器,它与request构成了一对接受、发送数据的东西,这也是实行动静的普通。底下引见它常用的属性和本领。1、buffer属性    该属性用来指定页面输入时能否要用到缓冲区,默许值为false。当它为true时,直到所有active server page实行中断后才会将截止输入到欣赏器上。如:<%response.buffer=true%><html><head><title>buffer示例</title></head><body><% for i=1 to 500 response.write(i & "<br>") next%></body></html>   这页实行时,所有网页的一切实质会同声表露在欣赏器上,这个网页会生存缓存区市直到剧本实行中断。2、expires属性  该属性用来树立欣赏器缓存页面包车型的士功夫长度(单元为分),必需在效劳器端革新。经过如次树立:<%response.expires=0%>   经过在asp文献中介入这一条龙代码,诉求历次乞求是革新页面,由于response一收到页面就会过时。3、write本领  该本领把数据发送给存户端欣赏器,如:  <%response.write "hello,world!"%> 4、redirect本领  该本领使欣赏器不妨从新定位到另一个url上,如许,当存户发出web乞求时,存户端的欣赏器典型仍旧决定,存户被从新定位到相映的页面。如:<html><head><title>redirect示例</title></head><body><form aciton="formjump.asp" method="post"> <select name="wheretogo"> <option selected value="fun">fun</option> <option value="news">news</option> <option value="sample">sample</option> </select><input type=submit name="jump" value="jump"></form></body></html>   之上是提交的表单,底下是处置表单的文献formjump.asp:<%response.buff=true%><html><head><title>redirect示例</title></head><body><%thisurl="http://www.tinyu.com/";where=request.form("wheretogo")select case where case "fun" response.redirect thisurl & "/fun/default.asp" case "news" response.redirect thisurl & "/news/default.asp" case "sample" response.redirect thisurl & "/sample/default.asp"end select%></body><html>   这个例子当用户采用了此后,按"jump"按钮提交表单,效劳器接到请求后挪用formjump.asp确定后定位到相映的url。然而这边有一点要提防,http题目仍旧写入到存户欣赏器,任何http题目的窜改必需在写入页实质之前,遇到这种题目时,不妨如次做:在文献的发端<@ language=..>后写: response.buffer=true在结果定: response.flush  这边flush是response的一个本领,它必需是buffer属性树立为true时本领运用,要不会爆发一个运转形式缺点。其余一个clear本领也是用来废除被缓存的页面,同样要buffer属性树立为true时本领运用。5、end本领  该本领用来奉告active server当遇到该本领时遏止处置asp文献。即使response东西的buffer属性树立为true,这时候end本领即把缓存中的实质发送给存户并废除冲区。以是要废除一切向存户的输入民,不妨先废除缓冲区,而后运用end本领。如:<%response.buffer=trueon error resume nexterr.clearif err.number<>0 then response.clear response.endend if%> server 东西:server 东西供给对效劳器上的本领和属性的考察。个中大普遍本领和属性是动作适用步调的功效效劳的。语法 server.property|method属性scripttimeout:scripttimeout 属性指定剧本在中断前最大可运转多长功夫。 当处置效劳器组件时,超时控制将不复奏效。 语法 server.scripttimeout = numseconds参数 numseconds 指定剧本在被效劳器中断前最大可运转的秒数。默许值为 90 秒。 解释经过运用元数据库中的aspscripttimeout属性不妨为 web 效劳或 web 效劳器树立缺省的scripttimeout值。scripttimeout属性不许树立为小于在元数据库中指定的值。比方,即使numseconds树立为10,而元数据库树立包括了默许值90秒,则剧本在90秒后超时。但即使numseconds树立为100,则剧本在100秒后超时。对于运用元数据库的精细消息,参见 对于元数据库。示例 以次示例中,即使效劳器处置剧本胜过 100 秒,将使之超时。<% server.scripttimeout = 100 %>以次示例获得 scripttimeout 属性暂时值,并将其保存在变量 timeout 中。<% timeout = server.scripttimeout %>本领createobject createobject 本领创造效劳器组件的范例。即使该组件实行了 onstartpage 和 onendpage 本领,则此时就会挪用 onstartpage 本领。相关效劳器组件的精细消息,请参见 可安置的 asp 组件 。语法 server.createobject( progid )参数 progid 指定要创造的东西的典型。progid 的方法为 [vendor.] component[.version]。解释 默许情景下,由 server.createobject 本领创造的东西具备页效率域。这即是说,再暂时 asp 页处置实行之后,效劳器将机动妨害那些东西。要创造有对话或运用步调效率域的东西,不妨运用 <object> 标志并树立 session 或 application 的 scope 属性,也不妨在对话及运用步调变量中保存该东西。比方,在如次所示的剧本中,当 session 东西被妨害,即当对话超常常或 abandon 本领被挪用时,保存在对话变量中的东西也将被妨害。<% set session("ad") = server.createobject("mswc.adrotator")%>不妨经过将变量树立为 nothing 或新的值来妨害东西,如次所示。第一个例子开释 ad 东西,第二个例子用字串包办 ad 。<% session ("ad") = nothing %><% session ("ad") = " other valum " %>不许创造与内建东西同名的东西范例。 比方,下列剧本将归来缺点。<% set response = server.createobject("response") %> 示例 <% set myad = server.createobject("mswc.adrotator") %> 上头的例子创造一个名为 myad 的 mswc.adrotator 效劳器组件,mswc.adrotator 组件可用来在 web 页上的机动替换告白。对于效劳器组件的精细消息, 请参见 creating components for asp.htmlencode htmlencode本领对指定的字符串运用 html 源代码。 语法 server.htmlencode( string )参数 string 指定要源代码的字符串。 示例剧本 <%= server.htmlencode("the paragraph tag: <p>") %> 输入 the paragraph tag: <p> 提防 之上输入将被 web 欣赏器表露为the paragraph tag: <p>即使察看一下源文献或以文本办法翻开一个 web 页,您就不妨看到已源代码的 html。mappathmappath 本领将指定的对立或假造路途映照到效劳器上相映的物理目次上。语法server.mappath( path )参数path 指定要映照物理目次的对立或假造路途。若 path 以一个正斜杠 (/) 或反斜杠 (\) 发端,则 mappath 本领归来路途时将 path 视为完备的假造路途。若 path 不是以斜杠发端,则 mappath 本领归来同 .asp 文献中已有的路途对立的路途。 解释mappath 本领不扶助对立路途语法 (.) 或 (..)。比方,下列对立路途 ../mydir/myfile.txt 归来一个缺点。mappath 本领不查看归来的路途能否精确或在效劳器上能否生存。由于 mappath 本领只映照路途而尽管指定的目次能否生存,以是,您不妨先用 mappath 本领映照物理目次构造的路途,而后将其传播给在效劳器上创造指定目次或文献的组件。示例对于下列示例,文献data.txt和包括下列剧本的test.asp文献都坐落目次c:\inetpub\wwwroot\script下。c:\inetpub\wwwroot目次被树立为效劳器的宿主目次。下列示例运用效劳器变量 path_info 映照暂时文献的物理路途。剧本<%= server.mappath(request.servervariables("path_info"))%><br>输入c:\inetpub\wwwroot\script\test.asp<br>因为下列示例中的路途参数不是以斜杠字符发端的,以是它们被对立映照到暂时目次,此处是 c:\inetpub\wwwroot\script。剧本<%= server.mappath("data.txt")%><br><%= server.mappath("script/data.txt")%><br>输入c:\inetpub\wwwroot\script\data.txt<br>c:\inetpub\wwwroot\script\script\data.txt<br>接下来的两个示例运用斜杠字符指定归来的路途应被视为在效劳器的完备假造路途。剧本<%= server.mappath("/script/data.txt")%><br><%= server.mappath("\script")%><br>输入c:\inetpub\script\data.txt<br>c:\inetpub\script<br>下列示例演练怎样运用正斜杠 (/) 或反斜杠 (\) 归来宿主目次的物理路途。剧本<%= server.mappath("/")%><br><%= server.mappath("\")%><br>输入c:\inetpub\wwwroot<br>c:\inetpub\wwwroot<br> urlencodeurlencode 本领将 url 源代码准则,囊括转义字符,运用到指定的字符串。语法server.urlencode( string ) 参数 string 指定要源代码的字符串。 示例剧本 <%response.write(server.urlencode("http://www.tinyu.com";)) %> 输入 http%3a%2f%2fwww%2etinyu%2ecomsession东西  session本来指的即是考察者从达到某个一定网页到摆脱为止的那段功夫。每一考察者城市独立赢得一个session。在web运用步调中,当一个用户考察该运用时,session典型的变量不妨供这个用户在该web运用的一切页面中国共产党享数据;即使另一个用户也同声考察该web运用,他也具有本人的session变量,但两个用户之间没辙经过session变量共享消息,而application典型的变换则不妨实行站点多个用户之间在一切页面中国共产党享消息。1、sessionid属性  该属性归来暂时对话的独一标记,为每一个session调配各别的编号。  我曾在开拓进程中就遇到对用户的遏制题目。它要实行的功效即是,对准某个网站的一个模块,当一个会员登录后正在看此模块时,另一部分用同样的会员名登录,就不许欣赏这个模块。也即是说一个会员名同声只能一部分欣赏此模块。我经过用会员名(假如为userid,独一)和sessionid来实行了遏制。当会员登录时,给这个会员一个session记载登录状况如:session("status")="logged",同声把这个会员的session.sessionid写入数据库。当他要欣赏此模块时,先确定其能否登录,若仍旧登录再确定它的sessionid能否与数据库记载的沟通,即使各别则不许考察。如许,当另一个用户用沟通的会员名登录时,那么数据库中记载的即是新的sessionid,前者考察此模块时就不许经过查看。这就实行了一个会员名同声只能一部分欣赏某个模块。这个功效在少许收款网站有很有更加效率,它提防了一个会员名给多部分欣赏的题目,为公司保护了便宜。2、timeout属性  该属性用来设置用户session东西的时间限制。即使用户在规则的功夫内没有革新网页,则session东西就会中断。普遍默许为20秒钟。  3、abandon本领  该本领是session东西的独一本领,不妨废除session东西,用来取消用户的session东西并开释其所占的资源。如: <% session.abandon %> 4、session_onstart和session_onend事变  和application一律,当东西的例程每一次启用时触发session_onstart事变,而后运转session_onstart事变的处置进程。也即是说,当效劳器接受到运用步调中的url的http乞求时,触发此事变,并创造一个session东西。同理,这个事变也必需定在global.asa文献中。  当挪用session.abandon本领时大概在timeout的功夫内没有革新,这会触发session_onend事变,而后实行内里的剧本。session变量与一定的用户相接洽,对准某一个用户赋值的session变量是和其余用户的session变量实足独力的,不会生存彼此感化。session运用一列:  与application一律,一个被设置为session典型的数组只能将所有数组动作一个东西,用户不许径直变换session数组中某个元素的值。为了创造一个session数组,需先设置一个普遍的数组,并对它的每一个元素赋初值,结果把它设置为一个session数组。如:<%dim array()array=array("李","明","男")session("info")=arrayresponse.write session("info")(0) &"-"response.write session("info")(1) &"-"response.write session("info")(2) &"<br>"%><hr><%array(0)="天"array(1)="宇"array(2)="男"session("info")=arrayresponse.write session("info")(0) & "-"response.write session("info")(1) & "-"response.write session("info")(2) & "<br>"%>

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.