在Session_OnStart中捕获会话变量 - Global.asa

时间:2013-05-08 15:30:02

标签: asp.net asp-classic global-asax

我正在尝试使用用户会话来处理我的global.asa中的代码:

Sub Session_OnStart
  sAdmin = Session("Admin")      
  Application("Admin") = sAdmin

Session("Admin")不为空,但我检查时Application("Admin")总是空的。有没有理由我无法在global.asa的Session_OnStart部分捕获用户会话变量?

当我执行此操作时,Application("Admin")不会显示为空,它会显示为hi

Sub Session_OnStart
  Application("Admin") = "hi"

如何在global.asa中捕获用户会话值?

1 个答案:

答案 0 :(得分:0)

您似乎尝试设置“按引用”分配,以便Application("Admin")Session("Admin")更改时更改。我担心这样的事情在经典的ASP中是不可能的。

我能想到的唯一优雅方法是添加将包含在所有页面中的辅助方法:

Sub AssignAdminSession(value)
    Session("Admin") = value
    Application("Admin") = value
End Sub

然后,而不只是Session("Admin") = "something"无处不在:

Call AssignAdminSession("value here")