Session ASP问题:是否可以将会话变量作为参数传递给Global.asa文件中的函数?

Session ASP问题:是否可以将会话变量作为参数传递给Global.asa文件中的函数?,session,variables,asp-classic,global.asa,Session,Variables,Asp Classic,Global.asa,我计划用JavaScript编写Global.asa文件。当会话或应用程序结束时,我需要在数据库中进行更改。具体来说,我需要分解一个字符串,并在Global.asa函数的查询中使用它。那部分我一点也不困惑。只是关于将会话变量作为参数传入的部分。我想象我的Global.asa是这样的: (假设两个变量“variable1”和“variable2”是会话变量) 函数应用程序启动(){ } 函数应用程序(变量1){ } 函数会话_OnStart(){ } 功能会话(变量2){ } 所以,我不确定我

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

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


函数应用程序启动(){
}
函数应用程序(变量1){
}
函数会话_OnStart(){
}
功能会话(变量2){
}

所以,我不确定我的要求是否可行。如果有,有什么建议吗?请记住,我是在ASP中工作,而不是在ASP.NET中工作。另外,我对使用服务器端代码有点陌生,请原谅我的无知。

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

<SCRIPT LANGUAGE=VBScript RUNAT=Server> Sub Application_OnStart() 'initialize application level variables Application("ConnectionString") = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.mappath("access_db/mydb.mdb") End Sub Sub Application_OnEnd() Application("ConnectionString") = "" End Sub Sub Session_OnStart() 'initialize session level variables Session("UserIP") = Request.ServerVariables("REMOTE_ADDR") End Sub Sub Session_OnEnd() Session("UserIP") = "" End Sub 子应用程序_OnStart() '初始化应用程序级变量 应用程序(“连接字符串”)=“驱动程序={Microsoft Access驱动程序(*.mdb)};DBQ=“&Server.mappath”(“Access_db/mydb.mdb”) 端接头 子应用程序_OnEnd() 应用程序(“连接字符串”)=“” 端接头 子会话_OnStart() '初始化会话级别变量 Session(“UserIP”)=Request.ServerVariables(“远程地址”) 端接头 第二次会议 会话(“用户IP”)=“” 端接头
不确定是否可以将变量传递到预定义函数中,但您可以在网站上的任何位置使用会话或应用程序变量,包括在这些函数中。

不,您的建议不可行

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

你可以利用这个对象做你想做的事情

在代码中,可以设置如下会话变量:

session("userid") = 856
在global.asa中,您可以使用:

variable1 = session("userid")

您可以在global.asa文件中使用所有可用的脚本语言。这包括JScript。您不能将变量传递给这些函数。谢谢!这回答了我的问题。
variable1 = session("userid")