2010-10-11 39 views
1

使用報表查看器控件查看(SQL Server報表服務)報表時,出現「ASP.NET會話已過期」錯誤。有時它工作正常,有時我得到這個錯誤,它在Dev中正常工作,但不在測試環境中。請讓我知道你是否有任何線索。提前致謝。這裏是報表查看器控件的代碼。查看報表時ASP.NET會話過期錯誤

ReportViewer1.ServerReport.ReportServerUrl = new Uri(System.Configuration.ConfigurationManager.AppSettings [「ReportServerUrl」]);

ReportViewer1.ServerReport.ReportPath = System.Configuration.ConfigurationManager.AppSettings["ReportPath"]; 
    ReportViewer1.ServerReport.SetParameters(new List<ReportParameter> { new ReportParameter("key", "value") }); 
    ReportViewer1.DataBind(); 
+0

嗨RKP,我的答案幫助還是你仍然有問題? – WooHoo 2010-10-12 10:27:45

+0

我正在嘗試使用「ReportViewer1.LocalReport.Refresh」來解決此問題的建議,如本鏈接所述http://www.eggheadcafe.com/software/aspnet/31537344/aspnet-session-has-expired--請-help.aspx。我只想增加會話超時作爲最後的手段。感謝您的回覆。 – RKP 2010-10-12 13:02:21

+0

祝你好運,但我的建議是不增加會話超時。這是空閒超時,即使增加會話超時,閒置超時可能會在未經常訪問的系統上啓動。無論如何,祝你好運。 – WooHoo 2010-10-12 21:06:41

回答

0

查看iis中的應用程序池,檢查高級設置 - >進程模型 - >空閒超時(分鐘)。設置此高於20分鐘。聽起來像工作人員進程正在關閉,因爲它閒置。通常,這與測試系統,是因爲他們沒有得到許多命中從踢停止空閒超時。

乾杯跳跳虎

0

我有這些症狀的一個問題了好幾個月在生產服務器上,是從來沒有能夠在任何開發或測試服務器上可靠地複製它。我瘋了,直到一些奇怪的配置更改終於使ASP.NET日誌發生了一個新的警告,每當此會話過期錯誤發生。

長話短說,我的問題是Report Viewer中的一個錯誤。它被竊聽的Connect和我添加了一個解決方法的情況下它可以幫助你:

https://connect.microsoft.com/VisualStudio/feedback/details/556989/

做任何激烈的解決方法之前,先檢查測試服務器上的事件查看器,並尋找一個ASP.NET警告事件在你遇到這個錯誤的時候。查看該事件是否提及「IterationId」參數。

0

我通過爲報表查看器控件設置AsyncRendering爲false來修復它。只是一個臨時解決方法,直到我找到一個合適的解決方案。