How can I make a variable static (or “global”) in

2019-05-08 03:23发布

I want to make my variable static or "global" - so the same effect as static in .NET; every session that accesses it gets the same result, and if one session modifies it it affects everyone else too.

How can I achieve this in Classic ASP?

2条回答
劫难
2楼-- · 2019-05-08 03:47

using a session variable

Session("myVariableName") = "my new value"

the scope will be the user...

if you want to wide the scope to ALL users that are in the website, then you use an Application variable

Application("myVariableName") = "my new value"

you can reset or handle this in the global.asa file as well

This is a common thing to do:

global.asa file:

<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>

default.asp file:

<html>
 <head>
 </head>
 <body>
  <p>There are <%response.write(Application("visitors"))%> online now!</p>
 </body>
</html>
查看更多
爷的心禁止访问
3楼-- · 2019-05-08 04:12

If you want to have a variable that is accessible application wide, you can use the application object. Be sure to use Application.Lock/Unlock to prevent any problems.

Application.Lock
Application("MyVariable") = "SomeValue"
Application.Unlock
查看更多
登录 后发表回答