Asp-Classic
如何在經典 ASP 中將變數設為靜態(或“全域”)?
我想讓我的變數靜態或“全域” - 所以與.NET中的靜態效果相同;每個訪問它的會話都會得到相同的結果,如果一個會話修改它,它也會影響其他所有人。
如何在經典 ASP 中實現這一點?
如果您想要一個可在應用程序範圍內訪問的變數,您可以使用應用程序對象。請務必使用Application.Lock/Unlock以防止出現任何問題。
Application.Lock Application("MyVariable") = "SomeValue" Application.Unlock
使用會話變數
Session("myVariableName") = "my new value"範圍將是使用者…
如果您想將範圍擴大到網站中的所有使用者,那麼您可以使用 Application 變數
Application("myVariableName") = "my new value"您也可以在 global.asa 文件中重置或處理此問題
這是一種常見的做法:
global.asa文件:
<script language="vbscript" runat="server"> Sub Application_OnStart Application("visitors") = 0 End Sub Sub Session_OnStart Application.Lock Application("visitors") = Application("visitors") + 1 Application.UnLock End Sub Sub Session_OnEnd Application.Lock Application("visitors") = Application("visitors") - 1 Application.UnLock End Sub </script>預設.asp文件:
<html> <head> </head> <body> <p>There are <%response.write(Application("visitors"))%> online now!</p> </body> </html>