У меня есть приложение ASP.NET, которое предоставляет Microsoft ReportViewer (фактически приложение MVC3 с одной веб-формой, на которой размещается ReportViewer). При выполнении больших отчетов происходит тайм-аут, в результате чего запрос останавливается и вместо отчета отображается пустая страница. Тем не менее, следующие параметры времени ожидания устанавливаются программно:
Viewer.ServerReport.Timeout = Configuration.ReportViewerTimeout;
ScriptManager.AsyncPostBackTimeout = Configuration.ReportViewerAjaxTimeout;
Соответствующими значениями являются -1 и 0, которые согласно документации интерпретируются как отсутствие тайм-аута. Я также пробовал большие значения, без разницы.
Примерно через минуту ожидания загрузки отчета (окно сообщения «Загрузка») я получаю пустой отчет и вижу его в окне консоли Firebug:
Отменено
Sys.WebForms.PageRequestManagerTimeoutException: истекло время ожидания запроса к серверу.
[Прервать эту ошибку] this._endPostBack (this._cr ... anagerTimeoutError (), sender, null);
Я также попытался добавить это в свой web.config:
<httpRuntime maxRequestLength="1024000" executionTimeout="999999" />
И в IIS> мой сайт> Расширенные настройки> Пределы подключения я установил для параметра «Время ожидания подключения (секунды)» значение 1200. Все это не имело значения.
Кто-нибудь знает, чего мне не хватает?