皇后刘黑胖介绍:关于 Appliction 的数组存储 疑问

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/30 04:42:34
有两个ASP 文档,分别为 Asp8a.asp 和 Asp8b.asp
其程序如下:
<!--asp8a.asp-->
< %
dim MyArray() '定义MyArray()变量
Redim MyArray(5) '定义MyArry()数组
MyArray(0)="hello" '赋值MyArry()数组 第一位 为 字符串 Hello 值
MyArray(1)="some other string" '赋值MyArry()数组 第二位 为 字符串 Some other String 值
Application.Lock 'Application 锁定
Application("StoredArray")=MyArray '定义 StoredArray 变量值为 MyArray数组
Application.Unlock 'Application 开锁
Response.Redirect "asp8b.asp" '页面跳转到Asp8b.asp页面
%>

<!--asp8b.asp-->
< %
LocalArray=Application("StoredArray") '定义 LocalArray为数组变量,赋值为 application("StoredArray")(*MyArray数组)
LocalArray(1)=" there" ’LocalArray数组变量第一位 赋值为 字符串 there 值
Response.Write LocalArray(0)&LocalArray(1) '输出LocalArray(0)和LocalArray(1)的值
Application.Lock 'Application 锁定
Application("StoredArray")=LocalArray ' 定义 StoredArray 变量值为 LocalArry数组
Application.Unlock 'Application 开锁
%>

我按照自己的理解在每行程序后面加入注释,疑问是:
1)ASP8A.ASP和ASP8B.ASP中的Application.Lock和Application.Unlock分别起到什么作用?
2)ASP8B的文档中LocalArray(0)(1)的输出值是什么?
3)我应该怎么去理解这段代码?

希望得到各位的帮助,谢谢!
Lindegong,你好,谢谢您的解答。

我知道Lock和Ulock的含义,但是在此例中的作用还是不甚明解,能否就此详细告知?
还有LocalArray=Application("StoredArray")和Lock中的Application("StoredArray")=LocalArray赋值结果是否一致?
谢谢!

这段代码告诉你不能直接使用 application(storedArray)(1) = "there"
在修改 application保存的数组时,不能直接使用,得先调出来修改完了再放进去!
还有application不能保存session,application对象!
lock和unlock方法是一对对应的方法!作用是对application对象的锁定和解锁,
当锁定了application,其它的用户将不能对application进行修改!保证application对每个用户的值是一样的!