1

我打算用 JavaScript 编写 Global.asa 文件。当会话或应用程序结束时,我需要在数据库中进行更改。具体来说,我需要分解一个字符串并在 Global.asa 函数的查询中使用它。那部分根本不让我困惑。只是关于将会话变量作为参数传递的部分。我想象我的 Global.asa 看起来像这样:

(假设两个变量“variable1”和“variable2”是会话变量)

<script language="JScript" runat="Server">
function Application_OnStart() {
}

function Application_OnEnd(variable1) {
}

function Session_OnStart() {
}

function Session_OnEnd(variable2) {
}
</script>

所以,我不确定我所问的是否可行。如果是这样,有什么提示吗?请记住,我正在使用 ASP,而不是 ASP.NET。另外,我对使用服务器端代码有点陌生,所以请原谅我的无知。

4

2 回答 2

0

不,你的建议是不可行的。

global.asa 文件中的函数是事件的回调。函数调用,都没有参数。

您可以利用该Session对象来做您想做的事。

在您的代码中,您可以像这样设置会话变量:

session("userid") = 856

在您的 global.asa 中,您可以使用:

variable1 = session("userid")
于 2012-04-20T20:46:59.493 回答
-1

您是否考虑过为您的 Global.asa 使用 VBScript?我从未在 javascript 中编写过 Global.asa,但您可以在 VB 中对其进行编码并使用会话或应用程序级别的变量:

<脚本语言=VBScript RUNAT=服务器>

子应用程序_OnStart()
    '初始化应用级变量
    Application("ConnectionString") = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.mappath("access_db/mydb.mdb")
结束子

子应用程序_OnEnd()
    应用程序(“连接字符串”)=“”
结束子

子会话_OnStart()
    '初始化会话级变量
    会话("UserIP") = Request.ServerVariables("REMOTE_ADDR")
结束子

子会话_OnEnd()
    会话(“用户IP”)=“”
结束子

不确定您是否可以将变量传递给预定义函数,但您可以在网站上的任何地方使用会话或应用程序变量,包括在这些函数中。

于 2012-04-20T18:39:58.537 回答