我的网络应用程序中有2个会话
这是我如何宣布我的会议:
的Global.asax
protected void Session_Start(object sender, EventArgs e)
{
Session["login"] = "";
Session["loginName"] = "Login";
}
的Web.config
<sessionState mode="InProc" cookieless="true" timeout="3600" /> <!--set the session timeout in minutes -->
会议班: public class clsSession
{
//declare sessions
private static object cardCode;
private static object cardName;
//get/set Login id session
public static string LoginIdSession
{
get
{
cardCode = HttpContext.Current.Session["login"];
return cardCode == null ? "" : (string)cardCode;
}
set
{
HttpContext.Current.Session["login"] = value;
}
}
public static string LoginNameSession
{
get
{
cardName = HttpContext.Current.Session["loginName"];
return cardName == null ? "Login" : (string)cardName;
}
set
{
HttpContext.Current.Session["loginName"] = value;
}
}
}
问题是2次会议在超时前到期!
谢谢
答案 0 :(得分:1)
那可能有很多原因。其中一些是:
Machine.Config
,Web.Config
或Global.asax
已修改bin
目录或其内容已修改IIS
中的设置很少,可能导致应用程序池或工作进程被回收。Out-Proc
会话状态(StateServer或SQL Server)同时检查,IIS:
右键点击application pool
- &gt; properties
Recycling Tab
- &gt; “回收工作进程(以分钟为单位)”如果选中此选项,请确保此处设置的时间应与web.config
中设置的会话超时相同。
Performance Tab
- &gt; “在理想之后关闭工作进程”确保此处设置的时间应与web.config
中设置的会话超时相同