asp.net判断session过期

本文介绍了一个模块如何实现超时检测功能,并在超时时进行页面重定向,包括事件处理、条件判断及响应写入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.SessionState;

 

/// <summary>

/// Summary description for Module

/// </summary>

 

//1.继承IHttpModule类,实现接口成员

namespace JudgeSessionOutTime

{

    public class Module : IHttpModule, IRequiresSessionState

    {

        public void Dispose()

        {

        //   throw new NotImplementedException();

        }

 

        public void Init(HttpApplication context)

        {

            //原因:这个事件时,Session尚未创建。要先指定类型在判断地址栏是否存在

            //context.BeginRequest += new EventHandler(context_BeginRequest);

            context.AcquireRequestState += (obj, e) =>

            {

                var app = (HttpApplication)obj;

                var url = app.Request.RawUrl;

                //还要先判断下请求类型

                if (url.IndexOf(".aspx") > 0)

                {

                    //判断非UserLogin请求 防止进入死循环(此网页包含重定向循环)

                    if (url.IndexOf("Login.aspx") < 0)

                    {

                        if (url.IndexOf("GetValidateCode") > 0 || url.IndexOf("UserRegister") > 0 || url.IndexOf("notify_url") > 0 || url.IndexOf("return_url") > 0)//排除过滤选项

                        {

                        }

                        else if (app.Context.Session["admin"] == null)

                        {

                           //app.Response.Redirect("../Login.aspx", false);

 

                            string loginURl ="/Login.aspx";

                          //  Utility.Jscript.alert("本次登录已经超时,请重新登录系统");

                            app.Context.Response.Write(" <script>top.location='" + loginURl + "' ;</script>");

                            app.Context.Response.End();

                        }

                    }

                }

            };

        }

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值