Asp classic 使用经典ASP在缓存中存储阵列
我需要使用经典ASP在缓存中存储一个数组。我正在使用下面的代码,但它不起作用Asp classic 使用经典ASP在缓存中存储阵列,asp-classic,jscript,Asp Classic,Jscript,我需要使用经典ASP在缓存中存储一个数组。我正在使用下面的代码,但它不起作用 var loans=[]; Application("loanArray")=loans; 请告诉我您的想法,为什么这不起作用。与VBScript数组不同——VBScript数组类似于典型的C样式数组,因为它们存储在连续的固定大小内存中——JScript数组稀疏且动态。它们也是单元线程,因此在ASP应用程序范围内使用不安全 如果启用详细错误消息,则在尝试时应看到以下消息: 无法将具有单元模型行为的对象添加到应用程序内
var loans=[];
Application("loanArray")=loans;
请告诉我您的想法,为什么这不起作用。与VBScript数组不同——VBScript数组类似于典型的C样式数组,因为它们存储在连续的固定大小内存中——JScript数组稀疏且动态。它们也是单元线程,因此在ASP应用程序
范围内使用不安全
如果启用详细错误消息,则在尝试时应看到以下消息:
无法将具有单元模型行为的对象添加到应用程序内部对象
所以你有几个选择
会话
范围内。您可以在global.asa
的Session\u OnStart()
中执行此操作,以使其在每次会话开始时可用
var a = ['one', 2, 3.0, false];
Session('myArray') = a;
// or...
Session('myArray') = ['one', 2, 3.0, false];
应用程序
范围中存储线程安全的VBScript数组,并在需要访问时将其转换为JScript数组。例如:
<script runat="server" language="vbscript">
Application.Lock
Application("myArray") = Array("one", 2, 3.0, False)
Application.Unlock
</script>
<script runat="server" language="javascript">
// Retrieve the array and convert it to a JavaScript array...
var a = VBArray(Application("myArray")).toArray();
for (var i = 0; i < a.length; ++i) {
Response.Write(a[i] + '<br>');
}
</script>
应用程序。锁
应用程序(“myArray”)=数组(“一”,2,3.0,False)
应用程序。解锁
//检索数组并将其转换为JavaScript数组。。。
var a=VBArray(应用程序(“myArray”)).toArray();
对于(变量i=0;i');
}