代码之家  ›  专栏  ›  技术社区  ›  joshcomley

如何在经典ASP中使变量静态(或“全局”)?

  •  7
  • joshcomley  · 技术社区  · 16 年前

    我想将我的变量设置为静态或“全局”,这样效果与中的静态相同。网;每个访问它的会话都会得到相同的结果,如果一个会话修改了它,它也会影响其他所有人。

    2 回复  |  直到 16 年前
        1
  •  7
  •   Jose Basilio    16 年前

    Application.Lock/Unlock 以防止任何问题。

    Application.Lock
    Application("MyVariable") = "SomeValue"
    Application.Unlock
    
        2
  •  6
  •   balexandre    16 年前

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

    如果你想将范围扩大到网站中的所有用户,那么你可以使用Application变量

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

    您也可以在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>
    

    default.asp 文件:

    <html>
     <head>
     </head>
     <body>
      <p>There are <%response.write(Application("visitors"))%> online now!</p>
     </body>
    </html>
    
    推荐文章