Session 失效

cjlxm1 cjlxm1 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
有类:
namespace Asset.BaseInfo
{
public class PageArchitecture :Page
{
public PageArchitecture()
{
}
//ADID
public string LoginUser
{
get
{
return this.Context.User.Identity.Name;
}
}
//雇员号
public string EmpNo
{
get
{
string LoginEmpno = "";
if (HttpContext.Current.Session["LoginEmpno"] == null) //保存登录者 其中loginempno是login.aspx里面登录成功时,记录的
{
HttpContext.Current.Response.Redirect("/btsl/asset/asset/Login.aspx");
}
else
{
LoginEmpno = HttpContext.Current.Session["LoginEmpno"].ToString();
}
return LoginEmpno;
}
public void SetNoCache()
{
this.Response.CacheControl = "no-cache";
this.Response.AddHeader("Pragma", "no-cache");
this.Response.Expires = -1;
}

}

public class basePage : PageArchitecture
{
protected override void OnLoad(EventArgs e)
{
this.Response.Buffer = true;
this.SetNoCache();
RegistExecScript(); // 不知是不是跟这些有关,代码是别人写的,有点看不懂,所以一并贴出来了。
RegisterForbidden();
base.OnLoad(e);
}
public void RegistExecScript()
{
StringBuilder script = new StringBuilder();
script.AppendFormat("{0}\r\n", @" <script language='javascript'> <!--");
script.AppendFormat("{0}\r\n", @" function exec(stat)");
script.AppendFormat("{0}\r\n", @" {");
script.AppendFormat("{0}\r\n", @" if(document.readyState==""readyState"" || document.readyState==""complete"")");
script.AppendFormat("{0}\r\n", @" {");
script.AppendFormat("{0}\r\n", @" setTimeout(stat,0);");
script.AppendFormat("{0}\r\n", @" clearTimeout();");
script.AppendFormat("{0}\r\n", @" }else{");
script.AppendFormat("{0}\r\n", @" setTimeout(""exec(\""""+stat+""\"")"",500);");
script.AppendFormat("{0}\r\n", @" }");
script.AppendFormat("{0}\r\n", @" }");
script.AppendFormat("{0}\r\n", @" --></script>");
Page.ClientScript.RegisterClientScriptBlock(Page.GetType(),"exec", script.ToString());
}
public void RegisterForbidden()
{
StringBuilder script = new StringBuilder();
script.AppendFormat("{0}\r\n", @" <script language='javascript'> <!--");
script.AppendFormat("{0}\r\n", @" document.oncontextmenu=new Function(""return true;"");");
script.AppendFormat("{0}\r\n", @" document.onkeydown=new Function(""if(event.keyCode==8){return true;} if(event.keyCode==78 && event.ctrlKey){return false;} if( (event.keyCode==37 || event.keyCode==39) && event.altKey){return false;}return true;"");");
script.AppendFormat("{0}\r\n", @" --></script>");
Page.ClientScript.RegisterClientScriptBlock(Page.GetType(),"forbidden", script.ToString());
}
}
}

页面B0001 .cs
public partial class B0001 : basePage
{
...
取登录者的时候就用:
string loginempno=Empno;
现经常取不到Empno,有时候过不了两分钟就要求重新登录。。。
}

另 webconfig内:
<sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="true" timeout="180" />

以上就是主要代码,由于是别人写的有点看不明白所以一并贴上。
现问题是:Session失效不对,设置的3个小时,但有时就几分钟要求用户重新登录。
...全文
评论 54
收藏 已收藏
分享
返回顶部
cjlxm1
C# 111,128 成员 642,537 内容