ReportViewer отвечает с ошибкой 502 после истечения времени ожидания - PullRequest
0 голосов
/ 04 ноября 2018

Мы создавали отчеты для SSRS 2016. Отчеты, которые выполняются менее чем за 2 минуты, работают нормально. Однако у нас есть несколько пультов, которые требуют более 10 минут.

Однако при выполнении отчета время ожидания истекает примерно через 2 минуты и возвращает эту ошибку:

Sys.WebForms.PageRequestManagerServerErrorException: An unknown error 
occurred while processing the request on the server. The status code returned 
from the server was: 502

Я попытался установить тайм-аут выполнения в web.config

<httpRuntime executionTimeout="2147472000" maxRequestLength="2147483647" />

Я также попытался установить время ожидания ScriptManager

 ScriptManager scriptMan = ScriptManager.GetCurrent(this);
 scriptMan.AsyncPostBackTimeout = 10800;

К сожалению, ничего из этого не решило проблему. Любая помощь будет оценена. Спасибо, ребята.

1 Ответ

0 голосов
/ 05 ноября 2018

При запуске отчета есть несколько разных таймаутов, включая элемент управления просмотра, сервер отчетов и исходную базу данных. Имейте в виду, что ожидание более 10 минут каждый раз, когда вы хотите запустить отчет, не является идеальным опытом.

Вместо этого я бы предложил изучить кеширование отчета по расписанию. Вы можете настроить это в опциях обработки отчетов на вашем сервере отчетов. Например, вы можете обновлять кэш один раз в день. Таким образом, когда пользователь решит запустить отчет, он будет загружаться намного быстрее.

Отчеты не имеют одинаковых ограничений по времени ожидания при обновлении кэша. А поскольку кэшированный отчет отображается быстрее, вам не нужно настраивать параметры тайм-аута. Это также обеспечивает лучший пользовательский опыт.

...