2009-11-23 75 views
2

我們在ASP.NET頁面上有ReportViewer控件的VS 2005版本。報告針對SQL2008報告服務執行並正確顯示。我們在列上進行交互式排序,按預期工作......通常情況下。ReportViewer控件超時排序

對於較大的結果集(超過100頁),排序停止,在查看器中以「操作超時」的字樣顯示白色背景。具有諷刺意味的是,它在3秒左右就完成了。當我看到ServerReport.Timeout默認爲2000毫秒時,我想我已經擁有它了,但將其更改爲30,000毫秒並沒有什麼區別。這就像它甚至沒有意願去嘗試排序如此多的數據:)下面的代碼:

 var rvMain = new ReportViewer { 
      EnableViewState = true, 
      ProcessingMode = ProcessingMode.Remote, 
      ShowRefreshButton = false, 
      AsyncRendering = true, 
      ShowCredentialPrompts = false, 
      ShowDocumentMapButton = true, 
      DocumentMapCollapsed = true, 
     }; 
     rvMain.ServerReport.DisplayName = displayName; 
     rvMain.ServerReport.ReportPath = reportPath; 
     rvMain.ServerReport.Timeout = 30000; 

我已經看過很多關於各種超時的其他職位。但是,這只是在分頁時才發生,然後纔在大的結果集上。任何建議,將不勝感激!!

更新:當對在SQL Report Manager網站中直接運行的報表進行排序時,排序不會超時。

回答

2

看起來我們陷入了這一個。我們實施了IReportServerConnection2 1 ,因爲我們沒有使用會話狀態,我們想要控制用於連接到Reporting Service的證書。在那個接口實現中,我們有一個不尋常的默認值2000毫秒。因此,在交互式排序中發生的往返行程中,它使用的是默認值,而不是在初始ReportViewer創建時設置的值。顯然在實施IReportServerConnection2中提高Timeout的價值已經修復了它。