我打算用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。另外,我对使用服务器端代码有点新意,所以请原谅我的无知。
答案 0 :(得分:0)
不,你的建议是不可行的。
global.asa文件中的函数是事件的回调。调用 get 函数,所有函数都没有参数。
您可以使用Session
对象来执行您想要的操作。
在您的代码中,您可以设置如下的会话变量:
session("userid") = 856
在您的global.asa中,您可以使用:
variable1 = session("userid")
答案 1 :(得分:-1)
您是否考虑过为您的Global.asa使用VBScript?我从来没有在javascript中编写Global.asa,但你可以在VB中编码并使用Session或Application级别变量:
<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
不确定是否可以将变量传递到预定义函数中,但您可以在网站的任何位置使用Session或Application变量,包括在这些函数中。