会话在下拉所选索引更改时超时
20分钟前|链接
大家好,
我正面临着一个奇怪的问题。我有一个报告页面,在这个页面上我使用了一个具有不同年份的下拉列表。当用户选择year=2009时,我将显示2009年数据的报告。代码如下所示。该网站现已在我们的web服务器上运行。该页面访问havy数据,因此有时需要一分钟或更长时间来加载所选年份的报告,此时我的会话到期,用户将被重定向到默认页面。但同样的事情在我的机器和我们的一台本地服务器上的解决方案中也可以很好地工作。它只是不能在我们的实时服务器上工作。如果您知道任何解决方案,请通过发布来帮助我。
我也在我的web.config中放置了这一行,但它没有任何帮助:
代码:
protected void ddlYear_SelectedIndexChanged(object sender, EventArgs e)
{
if (Session["UserId"] != null)
{
Session["IsDetailedReportLoaded"] = false;
Session["IsScoreCardLoaded"] = false;
Session["IsChartLoaded"] = false;
Session["IsReportLoaded"] = false;
string strYear = ddlYear.SelectedValue;
LoadReport(Convert.ToInt16(strYear));
lblYear.Text = strYear;
lblAsOf.Text = strYear;
lblYear.Text = ddlYear.SelectedValue.ToString();
lblAsOf.Text = ddlYear.SelectedValue.ToString();
ddlYearDetail.SelectedValue = ddlYear.SelectedValue;
ddlYearScorecard.SelectedValue = ddlYear.SelectedValue;
ddlYearGraph.SelectedValue = ddlYear.SelectedValue;
mpeLoading.Hide();
}
else
Response.Redirect("Default.aspx");
}谢谢,
萨蒂什·k。
发布于 2011-09-07 03:03:25
一个可能的问题可能是web服务器内存不足,并迫使应用程序池回收。这将刷新InProc会话内存。您可以尝试使用Sql会话状态,看看这是否能解决问题。尝试监视web服务器进程,看看它们是否正在快速回收。
发布于 2011-09-07 03:13:34
您可以将一个
if(Session.IsNew)签入您的代码,并适当地重定向/停止代码执行。
发布于 2011-09-07 04:05:54
我会检查IIS中的Performance选项卡,看看是否设置了带宽阈值。
在IIS
如果设置了treshold,则可能会达到最大带宽(KB /秒)限制。禁用带宽限制,或增加限制。
https://stackoverflow.com/questions/7324762
复制相似问题