При создании отчета RDLC в приложении C # / WPF, иногда зависает при рендеринге (вызов метода render
не возвращается).
Данные отчета поступают из объекта C # (который заранее заполняется данными из базы данных PostgreSQL), поэтому эта проблема не связана с SQL.
Интересно:
- Как я могу узнать причину?
- Можно ли как-нибудь разрешить пользователю завершить генерацию отчета при зависании?
Встраивание генерации отчетов в блок using
(как видно из рендеринг ReportViewer зависает на сервере после некоторых выполнений ) не решило проблему.
using (LocalReport report = new LocalReport())
{
report.ReportPath = @"C:\Path\To\MyReport.rdlc";
// Get the report data from db and fill it into MyReportData object.
MyReportData data = CreateReportData();
ReportDataSource headerDataSource = new ReportDataSource();
headerDataSource.Name = "HeaderDataSet";
headerDataSource.Value = data.Header;
report.DataSources.Add(headerDataSource);
// Add more data sources ...
// No report parameters are being used
report.Refresh();
pdfData = report.Render("PDF"); // here it hangs sometimes
}
Как уже говорилось выше, render
-телефон иногда зависает. После уничтожения приложения и повторной генерации того же отчета оно работает.