5

我们有一个 ASP.NET 2.0 网站,上面有一些旧的经典 asp 页面。有一个login.asp 页面和home.aspx 页面。对于经过身份验证和授权的用户,Login.asp 页面被重定向到 home.aspx。

我们要计算访问该站点的用户数量。如果用户达到某个指定值,我们将显示一些带有一些信息的弹出窗口。我们将应用程序变量存储在 global.asax 文件中。请为 global.asax 截取以下代码

Protected Overloads Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
    Application("Count") = 0
End Sub

Protected Overloads Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)        
    Application("Count") = CInt(Application("Count"))+ 1        
End Sub

我正在访问 Home.aspx 的 PageLoad 方法上的 Application("Count")。

当我用 url 打开浏览器http://localhost/login.asp并成功登录时,计数永远不会增加。如果我去http://localhost/home.aspx,计数会增加。看起来当 login.asp 重定向到 home.aspx 时,它不会调用 global.asax 上的 session_start。

我对经典asp不是很熟悉。最终用户始终来自 login.asp。

从 global.asax 文件中访问正确递增的 Application 变量的最佳方法是什么?

4

1 回答 1

1

经典 ASP 页面不由 ASP.Net 引擎处理。这意味着永远不会为 .asp url 触发 Global.asax 事件是正确的。

于 2013-09-20T13:36:21.197 回答