asp.net 判断session是否过期
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(); } } } }; } } }