Session_Start未触发

时间:2013-09-18 20:42:07

标签: asp.net vb.net iis asp.net-2.0

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

我们希望计算访问该网站的用户数量。如果用户达到某个指定值,我们将显示一些包含一些信息的弹出窗口。我们将Application变量存储在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方法上访问应用程序(“Count”)。

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

我对Classic asp不太熟悉。最终用户总是来自login.asp。

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

1 个答案:

答案 0 :(得分:1)

ASP.Net引擎不处理经典ASP页面。这意味着从来没有为.asp网址触发Global.asax事件是正确的。