在我的网站上
我的问题有时候我会得到会话而有时候我没有得到会话(会话丢失)(大多数情况下3-4人同时进行测试... 2-3次会议和1-2次没有得到会话)
任何人都可以告诉我这是什么问题吗?我该如何解决这个问题?
还有其他方法可以完成这项任务吗?
登录前进行会话 会话[“sesObjFundRaiseSeek”] = objFundRaiseSeek;
登录后
if (Session["sesObjSellSeekBL"] != null)
{
clsSellSeekBL ObjSellSeekBL = (clsSellSeekBL)Session["sesObjSellSeekBL"];
}
答案 0 :(得分:0)
您的会话在很短的时间后超时是否有问题?您可以在web.config中输入默认会话超时。这是在system.web下完成的。这是一个例子,其中480是分钟数:
<sessionState timeout="480"></sessionState>
有关详细信息:http://msdn.microsoft.com/en-us/library/h6bb9cz9(v=vs.71).aspx
另一种解决方案是使用Cookie。我建议使用Cookie来存储用户状态信息。由于Cookies存储在用户计算机上,因此更容易配置:
我在以下示例中将到期日设置为100000天:
HttpCookie myCookie = new HttpCookie("sesObjSellSeekBL");
myCookie.Value = Convert.ToString(user_id); //store the user id here at the very least
myCookie.Expires = DateTime.Now.AddDays(100000d);
Response.Cookies.Add(myCookie);
以下是检查Cookie的方法:
if (Request.Cookies["sesObjSellSeekBL"] != null)
以下是您如何记录用户:
HttpCookie myCookie = new HttpCookie("sesObjSellSeekBL");
myCookie.Expires = DateTime.Now.AddDays(-1d);
Response.Cookies.Add(myCookie);