2011-09-06 73 views
0

會話超時選擇索引更改下拉會話超時會話正在下拉選定索引更改

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"); 
    } 

感謝,

薩蒂什ķ。

回答

1

一個可能的問題可能是Web服務器的內存不足並迫使應用程序池回收。這將刷新InProc會話內存。您可以嘗試使用Sql Session State來查看是否可以解決問題。嘗試監視Web服務器進程並查看它們是否快速回收。

+0

我需要檢查以確保我的服務器正在刷新內存? – satish

+0

另外,我需要改變我的web.config使用SQL會話狀態? – satish

+0

@Corgalore:+1好想法。但是,在SQL中管理會話狀態可能會過度。 –

0

您可以將代碼中的

if(Session.IsNew) 

檢查,並適當地重定向/停止執行代碼。

0

我會檢查IIS中的性能選項卡,查看是否設置了帶寬閾值。

  1. 右鍵單擊網站在IIS
  2. 性能選項卡
  3. 檢查「帶寬限制」限制

如果treshold設置你可能會打的最大帶寬(每秒KB)限制。要麼禁用帶寬限制,要麼增加限制。

+0

它已被禁用。我也嘗試增加帶寬,但沒有幫助。 – satish

相關問題