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

在我的网站上

  • 登录前填写表单在会话中保存数据
  • 使用Linkedin ID登录
  • 在Pageload登录后,从会话中获取数据,然后插入SQL数据库
  • 我的问题是,有时我得到了会话,有时我没有得到会话(会话丢失)(主要是当3-4人同时测试时…2-3得到会话,1-2没有得到会话)

    谁能告诉我出了什么问题?我怎样才能解决这个问题

    还有其他方法来完成这项任务吗

    登录前进入会话 会话[“sesobjfundraiseek”]=objfundraiseek

    登录后获取

    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);