我的问题是,有时我的会话会随机丢失,而有时它会起作用。如何在asp.net/c#中重现丢失的会话?
现在的问题是,如果它是以某种方式重现会话(我的会话是当前登录的用户)。我想也许我需要在我的母版页中改变一些东西,我现在只是检查会话是否失败,其他的东西是什么?
代码:
protected void Page_Load(object sender, EventArgs e)
{
if (Session["UserId"] == null)
{
Response.ClearContent();
Response.Write("Not agine");
Response.End();
}
else
{
Response.Write(Session["UserId"].ToString());
}
}
的Global.asax
void Session_Start(object sender, EventArgs e) {
// Code that runs when a new session is started
if (HttpContext.Current.User != null && HttpContext.Current.User is HtUser)
{
HtUser user = (HtUser)HttpContext.Current.User;
Session["UserId"] = user.UserId;
if (user.HtDepartments.Any() && user.HtDepartments.SingleOrDefault().HtBusinessUnit != null)
{
int BusinessUnitId = user.HtDepartments.First().HtBusinessUnit.BusinessUnitId;
Session["BusinessUnnitId"] = BusinessUnitId;
}
在这里你可以看到代码为会话
如果你需要更多的东西只是让我知道!
感谢您的帮助和快速回答!
你是什么意思再现会话? – nunespascal 2013-03-13 13:11:15
@nunespascal如果会话丢失我想给aktuell登录的用户返回会话 – Mingebag 2013-03-13 13:12:35
你知道什么原因导致你失去会话;即它是一个超时,你是否与多个服务器一起工作(例如,会话在服务器A上创建,但下一个请求会发送到服务器B),您是否在使用查询字符串来标识会话,因此如果查询字符串是清除,还是别的? – JohnLBevan 2013-03-13 13:13:12