② Application对象的生命周期是服务器运行期 间,因此当虚拟服务器(你的PC)关机后, Application变量将丢失。要想保留变量的值,需要 用到文件系统(第10课介绍)的概念 在 Contents集合中,有三种方式读取 Application变量的值。 ①以 Application. Contents("变量名")的形式; ②以 Application("变量名")的形式; ③以所定义的 Application变量序号读取,即 Application. Contents(i)的形式读取,其中“i”为 变量的序号
② Application对象的生命周期是服务器运行期 间 , 因 此 当 虚 拟 服 务 器 ( 你 的 PC ) 关 机 后 , Application变量将丢失。要想保留变量的值,需要 用到文件系统(第10课介绍)的概念。 在 Contents 集 合 中 , 有 三 种 方 式 读 取 Application变量的值。 ① 以Application.Contents("变量名")的形式; ② 以Application("变量名")的形式; ③ 以所定义的Application变量序号读取,即 Application.Contents(i)的形式读取,其中“i”为 变量的序号
【例9-2】使用 Application变量序号读取 Application变量的值,运行结果 程序92.asp的代码如下: html> <head></head> <body> h3> Application实例</h3><hr> name=Request Form( visitor i=Request Form("chato") if name<> then if i=o then Application( chinese )=Application( chinese)+1 chat="中文 elseif i=l then Application( english" )=Application("english")+1 chat="英文 end if
【 例 9-2】 使 用 Application 变 量 序 号 读 取 Application变量的值,运行结果。 程序9_2.asp的代码如下: <html> <head></head> <body> <h3>Application实例</h3><hr> <% name=Request.Form("visitor") i=Request.Form("chatno") if name<>"" then if i=0 then Application("chinese")=Application("chinese")+1 chat="中文" elseif i=1 then Application("english")=Application("english")+1 chat="英文" end if
Response. write"欢迎(b〉"&name&"</b>,你是来到" Response. write"<b>"&chat&"</b>讨论区的第 Response. write Application. Contents(i+1)&"位客人<p〉" Response.wite"< a href=92.asp>返回 Response. end form METHOD=Post) < table<trx<td>名字 Ktdxinput type=text name="visitor size=12> tr><td>讨论区:<td>< Select name= Chato> < option value=0>中文</ option> < option value=1>英文</ option </select> < input TYpE= SUBMIT value="确定" </table> </body> </html>
Response.write "欢迎<b>" & name & "</b>,你是来到" Response.write "<b>" & chat & "</b>讨论区的第" Response.write Application.Contents(i+1) & "位客人<p>" Response.write "<a href=9_2.asp>返回</a>" Response.end end if %> <form METHOD=POST> <table><tr><td>名字: <td><input type=text name="visitor" size=12> <tr><td>讨论区:<td><Select name=Chatno> <option value=0>中文</option> <option value=1>英文</option> </select> <input TYPE=SUBMIT value="确定"> </table> </form> </body> </html>
说明: ①对于 Contents集合中的 Application变量,若 要遍历所有的值,还可以采用循环结构进行读取。可 以采用 For Each In的形式,也可以采用 For To Next 的形式,但是这样可能将服务器中的所有 Application变量读出,因此一般不提倡使用。 ②如果 Application对象保存有数组等项目,若 采用循环结构来遍历,则会出现错误,故要慎用 ③ Application对象中不能保存ASP的内置对象 下述代码将引发“内部服务器错误”: Set Application. Contents("对象")=" Request
说明: ① 对于Contents集合中的Application变量,若 要遍历所有的值,还可以采用循环结构进行读取。可 以采用For Each In的形式,也可以采用For To Next 的形式 , 但 是 这 样 可 能 将 服 务 器 中 的 所 有 Application变量读出,因此一般不提倡使用。 ② 如果Application对象保存有数组等项目,若 采用循环结构来遍历,则会出现错误,故要慎用。 ③ Application对象中不能保存ASP的内置对象。 下述代码将引发“内部服务器错误” : Set Application.Contents("对象")="Request
(2) Staticobjects集合 Application对象的 Saticobjects集合是通过 Ob ject>标记在 Global.asa文件中创建的。在 Staticobjects集合中保存着所有在 Application对象 范围内的由< Object>标记创建的变量和对象,通过该 集合,可以检索和读取这些变量和对象。在 Global.asa文件中,使用如下的代码可以建立一个 Application级的对象: KOBJECT runat=Server Scope=Application ID=Priconn Prog ID="Adodb Connection"> 说明: Contents集合中可以使用的对 Application变量的操作方法,在这里都可以使用
(2) StaticObjects集合 Application 对象的 SaticObjects 集合是通过 <Object> 标 记 在 Global.asa 文 件 中 创 建 的 。 在 StaticObjects集合中保存着所有在Application对象 范围内的由<Object>标记创建的变量和对象,通过该 集 合 , 可 以 检 索 和 读 取 这 些 变 量 和 对 象 。 在 Global.asa文件中,使用如下的代码可以建立一个 Application级的对象: <OBJECT runat=Server Scope=Application ID=Priconn ProgID="Adodb.Connection"> 说明: Contents 集 合 中 可 以 使 用 的 对 Application变量的操作方法,在这里都可以使用