C# 登录后会话丢失
在我的网站上C# 登录后会话丢失,c#,asp.net,sql-server,session-variables,C#,Asp.net,Sql Server,Session Variables,在我的网站上 登录前填写表单在会话中保存数据 使用Linkedin ID登录 在Pageload登录后,从会话中获取数据,然后插入SQL数据库 我的问题是,有时我得到了会话,有时我没有得到会话(会话丢失)(主要是当3-4人同时测试时…2-3得到会话,1-2没有得到会话) 谁能告诉我出了什么问题?我怎样才能解决这个问题 还有其他方法来完成这项任务吗 登录前进入会话 会话[“sesobjfundraiseek”]=objfundraiseek 登录后获取 if (Session["sesObjSel
if (Session["sesObjSellSeekBL"] != null)
{
clsSellSeekBL ObjSellSeekBL = (clsSellSeekBL)Session["sesObjSellSeekBL"];
}
在很短的一段时间后,您的会话超时是否有问题?您可以在web.config中输入默认会话超时。这是在system.web下完成的。下面是一个示例,其中480是分钟数:
<sessionState timeout="480"></sessionState>
以下是检查Cookie的方法:
if (Request.Cookies["sesObjSellSeekBL"] != null)
以下是您注销用户的方式:
HttpCookie myCookie = new HttpCookie("sesObjSellSeekBL");
myCookie.Expires = DateTime.Now.AddDays(-1d);
Response.Cookies.Add(myCookie);
您可以提供任何代码吗?请更具体一点!如果您不向我们展示您的代码,我们真的帮不了您。提供的信息很少,很难回答,您是在任何地方重置会话变量还是将其设置为null?也许您在会话中放置的某个位置实例化了对象?听起来您多次设置会话值。您使用的IIS版本是什么?您是否配置了Idle Timeout属性?IIS 6.0,而我没有配置Idle Timeout属性?以下是有关IIS 6的Idle Timeout属性的一些信息。另一方面,我建议使用Cookies来存储用户状态信息。由于Cookie存储在用户计算机上,您不必在IIS中配置任何内容。有人可以告诉我其他解决方案吗?
HttpCookie myCookie = new HttpCookie("sesObjSellSeekBL");
myCookie.Expires = DateTime.Now.AddDays(-1d);
Response.Cookies.Add(myCookie);