[英]Delay in loading multiple reports using report viewer in asp.net
在多個彈出窗口中動態加載ReportViewer中的SSRS報告時,我面臨着巨大的延遲。 第一個報告完全加載后,即使我並行打開報告,也只有下一個報告才開始處理。 因此,如果在打開長時間運行的報告之前,我必須等待很長時間才能加載小報告。 它不是並行加載。 我對此進行了一些研究,並從下面的鏈接中了解到ReportViewer阻止了加載每個報告的會話。
誰可以幫我這個事。 有什么解決方案嗎?
我在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.