我遇到了一个问题,因为我的用户在多选在线考试中出现频率。
我们已在单个页面上实施了考试,并在用户选择该选项时将该选项存储在视图状态中。在选择下一个问题页面时再次加载。有时"如果会话("用户")="""结果是真的,用户退出。
我在第一次加载页面时设置了会话
Session.Timeout = 340
同样在Web配置文件中,会话超时为2小时。
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Session("User") = "" Then
Response.Redirect("Default.aspx")
Else
//Processing and updating view state.
请查看此内容
答案 0 :(得分:2)
可能是AppPool获得回收的原因。以下是一些原因:
解决方案:使用stateserver而不是InProc。
<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" cookieless="UseCookies" timeout="10" regenerateExpiredSessionId="true" />
答案 1 :(得分:0)
在网络配置中增加会话超时值525,600分钟(1年)。
http://msdn.microsoft.com/en-us/library/ms525473(v=vs.90).aspx
http://msdn.microsoft.com/en-us/library/h6bb9cz9(v=vs.80).aspx
答案 2 :(得分:0)
我之前遇到过这个问题。请在解决方案中添加此代码。
public int SessionLengthMinutes
{
get { return Session.Timeout; }
}
public string SessionExpireDestinationUrl
{
get { return "../Login.aspx"; }
}
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
this.Controls.Add(new LiteralControl(
String.Format("<meta http-equiv='refresh' content='{0};url={1}'>",
SessionLengthMinutes * 60, SessionExpireDestinationUrl)));
}
通过此,您可以检查您的页面从主页面重定向到登录页面的时间。然后我们可以进一步工作并解决问题。 希望它适合你。