我正在运行ASP.NET 4.0应用程序并使用plesk控制面板发布它。我已完成以下操作。
1.i将web.config文件中的会话超时设置为:
<sessionState timeout="20000"/>
Session["userId"] = lUser.userId;
Session["role"] = lUser.userType;
进入其他控制器,代码如下:
if (Session["role"] == null)
{
return RedirectToAction("Index", "Login");
}
else if (Session["role"].ToString() == "Admin" || Session["role"].ToString() == "Super Admin")
{
return View();
}
这个代码在我的本地服务器上没问题,但是当使用plesk控制面板发布到真实服务器时,第一次也可以。但是当我第二次点击同一菜单时,它会重定向到登录页面。
答案 0 :(得分:0)
尝试添加:
protected void Session_Start(Object sender, EventArgs e)
{
Session["init"] = 0;
}
到global.asax
答案 1 :(得分:0)
而不是SessionState mode =“InProc”使用SessionState Mode =“StateServer”,但您需要确保您正在使用该应用程序的服务器使StateServer处于活动状态。
<sessionState mode="StateServer" timeout="20000" cookieless="false" />