会话在下拉所选索引更改时超时

时间:2011-09-06 18:58:44

标签: asp.net

会话在下拉选择的索引更改

时超时

20分钟前| LINK

大家好,

我在这里遇到一个奇怪的问题。我有一个报告页面,我正在使用具有不同年份的下拉列表。当用户选择年份= 2009时,我显示2009年数据的报告。代码如下。该网站现在在我们的网络服务器上。页面访问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");
    }

谢谢,

Satish k。

3 个答案:

答案 0 :(得分:1)

一个可能的问题可能是Web服务器内存不足并强制应用程序池回收。这将刷新InProc会话内存。您可以尝试使用Sql会话状态,看看是否能解决问题。尝试监控Web服务器进程并查看它们是否快速回收。

答案 1 :(得分:0)

你可以放置一个

if(Session.IsNew)

签入您的代码并适当地重定向/停止代码执行。

答案 2 :(得分:0)

我会检查IIS中的“性能”选项卡,以查看是否设置了带宽阈值。

  1. 右键单击IIS中的网站
  2. 效果标签
  3. 检查“带宽限制”限制
  4. 如果设置了阈值,则可能达到最大带宽(KB每秒)限制。禁用带宽限制或增加限制。