LocalProcessingException при отрисовке ReportViewer в QueueBackgroundWorkItemC#

Место общения программистов C#
Ответить
Anonymous
 LocalProcessingException при отрисовке ReportViewer в QueueBackgroundWorkItem

Сообщение Anonymous »

У меня есть функция ObterRelatorio, ответственная за вызов другой функции для отображения ReportViewer следующим образом:

Код: Выделить всё

protected virtual byte[] RenderizarRelatorio(string Formato)
{
ReportViewer rvwDinamico = new ReportViewer();

this.m_rdl.Position = 0;

rvwDinamico.LocalReport.LoadReportDefinition(m_rdl);

if (this.Parametros != null)
{
rvwDinamico.LocalReport.SetParameters(this.Parametros);
}

foreach (KeyValuePair DataSource in this.DataSourceDictionary)
{
rvwDinamico.LocalReport.DataSources.Add(new ReportDataSource(DataSource.Key, DataSource.Value));
}

rvwDinamico.Visible = false;

return rvwDinamico.LocalReport.Render(Formato);
}

Мне нужно вызвать эту функцию внутри QueueBackgroundWorkItem, как показано в коде ниже, чтобы выполнить функцию в фоновом режиме:

Код: Выделить всё

HostingEnvironment.QueueBackgroundWorkItem(async token =>
{
ResultadoConsulta = await RealizaConsulta(Parametros);
iExportacaoRelatorio = iRelatorioGerencial.GerarExcel(ResultadoConsulta, colunasGrid);
byte[] bytesExcel = iExportacaoRelatorio.ObterRelatorio();
});
Однако всякий раз, когда я вызываю его внутри QueueBackgroundWorkItem, я получаю исключение LocalProcessingException. При синхронном вызове одной и той же функции ошибка не возникает и генерируется отчет.
Я также пробовал изменить метод выполнения, чтобы использовать Task.Run вместо QueueBackgroundWorkItem, но начал получать ошибку:

Код: Выделить всё

ReportPublishingException: The Value expression for the textrun ‘txt_18_ValorAprovado.Paragraphs[0].TextRuns[0]’ contains a colon or a line terminator. Colons and line terminators are not valid in expressions.
Я не думаю, что проблема связана с тем, как передается значение, как я упоминал ранее, потому что, если функция вызывается синхронно, отчет генерируется без ошибок.
Может ли кто-нибудь мне помочь?

Подробнее здесь: https://stackoverflow.com/questions/793 ... ndworkitem
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»