変数を静的または「グローバル」にしたいので、.NETの静的と同じ効果があります。アクセスするすべてのセッションで同じ結果が得られ、1つのセッションで変更すると、他のすべてのセッションにも影響します。
クラシックASPでこれを実現するにはどうすればよいですか?
変数を静的または「グローバル」にしたいので、.NETの静的と同じ効果があります。アクセスするすべてのセッションで同じ結果が得られ、1つのセッションで変更すると、他のすべてのセッションにも影響します。
クラシックASPでこれを実現するにはどうすればよいですか?
セッション変数を使用する
Session("myVariableName") = "my new value"
スコープはユーザーになります...
Webサイトにいるすべてのユーザーに範囲を広げたい場合は、アプリケーション変数を使用します
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>
default.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