多用戶並發修改 Application 變數時,必須序列化存取:
Application.Lock ' 禁止其他用戶修改
Application("Var") = newValue
Application.Unlock ' 釋放鎖定
若未顯式呼叫 Unlock,ASP 執行緒結束或逾時會自動釋放。
<%
Dim poem(3)
poem(0) = "姓名:含笑"
poem(1) = "性別:女"
poem(2) = "E-mail:www@163.com"
Application.Lock
Application("StoredArray") = poem
Application.Unlock
Server.Transfer "3.asp"
%>
接收頁 3.asp 需先複製到區域陣列修改,再寫回 Application:
LocalArray = Application("StoredArray")
' 修改 LocalArray 元素...
Application.Lock
Application("StoredArray") = LocalArray
Application.Unlock
關鍵限制:不可直接修改 Application 陣列元素(如 Application("Arr")(3) = "x" 會失效),必須複製→修改→整體寫回。