加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

使用ASP.NET 2.0处理过期会话的最有效方法是什么

发布时间:2020-12-16 09:29:13 所属栏目:asp.Net 来源:网络整理
导读:在我们正在建设的网站上.我们需要能够在会话结束时将用户重定向到默认页面. 乍一看,我们使用Session_End和Response.Redirect来完成这项工作. Sub Session_End(ByVal sender As Object,ByVal e As EventArgs) Response.Redirect("~/global/exit.aspx")End Sub
在我们正在建设的网站上.我们需要能够在会话结束时将用户重定向到默认页面.

乍一看,我们使用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#" %>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读