簡體   English   中英

延遲使用asp.net中的報表查看器加載多個報表

[英]Delay in loading multiple reports using report viewer in asp.net

在多個彈出窗口中動態加載ReportViewer中的SSRS報告時,我面臨着巨大的延遲。 第一個報告完全加載后,即使我並行打開報告,也只有下一個報告才開始處理。 因此,如果在打開長時間運行的報告之前,我必須等待很長時間才能加載小報告。 它不是並行加載。 我對此進行了一些研究,並從下面的鏈接中了解到ReportViewer阻止了加載每個報告的會話。

http://www.networksteve.com/enterprise/topic.php/Multiple_report_viewers_on_one_page_issue/?TopicId=56213&Posts=5

誰可以幫我這個事。 有什么解決方案嗎?

我在VS 2012中使用Microsoft.ReportViewer.WebForms版本= 11.0.0.0和Framework 4.5。ReportViewer處於服務器模式。 請看下面的代碼

reportViewer.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Remote;
reportViewer.ServerReport.ReportServerUrl = new Uri(ReportServer);
reportViewer.ServerReport.ReportPath = ReportPath.Trim();
reportViewer.SizeToReportContent = true;
reportViewer.ServerReport.Refresh();

也許將處理分成多個線程可能是答案。 創建必須獲取的報告列表,然后像這樣使用Parallel類...

Parallel.ForEach(reports => report
{
    // code for rendering your report
});

同樣,您也可以為每個報告創建一個Action委托,並將其簡化為...

Parallel.ForEach(reports => report.Invoke());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM