LocalReport иногда зависает при рендере - PullRequest
0 голосов
/ 07 июня 2019

При создании отчета RDLC в приложении C # / WPF, иногда зависает при рендеринге (вызов метода render не возвращается).

Данные отчета поступают из объекта C # (который заранее заполняется данными из базы данных PostgreSQL), поэтому эта проблема не связана с SQL.

Интересно:

  1. Как я могу узнать причину?
  2. Можно ли как-нибудь разрешить пользователю завершить генерацию отчета при зависании?

Встраивание генерации отчетов в блок 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 -телефон иногда зависает. После уничтожения приложения и повторной генерации того же отчета оно работает.

...