我想让我的变量静态或“全局” - 所以与.NET中的静态效果相同;每个访问它的会话都会得到相同的结果,如果一个会话修改它,它也会影响其他所有人。
如何在经典 ASP 中实现这一点?
我想让我的变量静态或“全局” - 所以与.NET中的静态效果相同;每个访问它的会话都会得到相同的结果,如果一个会话修改它,它也会影响其他所有人。
如何在经典 ASP 中实现这一点?
使用会话变量
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>
如果您想要一个可在应用程序范围内访问的变量,您可以使用应用程序对象。请务必使用Application.Lock/Unlock以防止出现任何问题。
Application.Lock
Application("MyVariable") = "SomeValue"
Application.Unlock