在我们正在建设的网站上。当用户的会话结束时,我们需要能够将用户重定向到默认页面。
乍一看,我们使用 Session_End 和 Response.Redirect 来完成这项工作。
Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
Response.Redirect("~/global/exit.aspx")
End Sub
但它会产生一堆垃圾在此情况下无法做出响应错误。当然,我们不想向服务器发送垃圾邮件错误日志。
处理以 ASP.NET 2.0 结束的会话的最有效方法是什么?
我们将以下代码添加到 global.asax.cs 文件中:
private void IsAuthenticated()
{
string vFileName = Path.GetFileName(HttpContext.Current.Request.Path);
string vExt = Path.GetExtension(vFileName).ToLower();
if ((vFileName != "Login.aspx") && (vExt == ".aspx"))
{
if (HttpContext.Current.Session["LoggedIn"] == null)
{
HttpContext.Current.Response.Redirect("~/Login.aspx");
}
}
}
void Application_PostAcquireRequestState(object sender, EventArgs e)
{
IsAuthenticated();
}
NS:我们的 Global .asax 文件中的第一行是:
<%@ Application Inherits="???.Global" Language="C#" %>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)