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

ЛЕНИЕ 2.4.2010 Да, это старый вопрос, но я подумал, что дам обновление. Итак, я снова работаю с ReportViewer, и он все еще медленно рендерится при начальной загрузке. Разница лишь в том, что база данных SQL находится на сервере отчетов.

ОБНОВЛЕНИЕ 3.16.2009

Я выполнил профилирование, и это не SQL, который медленно отображает ReportViewer при первом вызове. При первом вызове элемент управления ReportViewer блокирует поток пользовательского интерфейса и делает программу не отвечающей. Примерно через 5 секунд ReportViewer разблокирует поток пользовательского интерфейса и отобразит «Отчет создается», а затем, наконец, отобразит отчет. Я знаю, что 5 секунд - это немного, но этого не должно быть. Мой коллега делает то же самое в своей программе, и ReportViewer немедленно отображает «Отчет генерируется» при любом запросе.

Разница лишь в том, что сервер отчетов находится на одном сервере, а данные - на другом. Тем не менее, когда я разрабатываю отчеты в рамках SSRS, отсрочки нет.

ОБНОВИТЬ

Я заметил, что только первая загрузка ReportViewer занимает много времени; каждая последующая загрузка одного и того же или разных отчетов загружается быстро.

у меня естьWinForms ReportViewer, который я использую вДистанционный пульт Режим обработки, который может занять до 30 секунд для визуализации при вызове метода ReportViewer.RefreshReport (). Однако сам отчет работает быстро.

Это код для настройки моего ReportViewer:

rvReport.ProcessingMode = ProcessingMode.Remote
rvReport.ShowParameterPrompts = False
rvReport.ServerReport.ReportServerUrl = New Uri(_reportServerURL)
rvReport.ServerReport.ReportPath = _reportPath

Вот где ReportViewer может отображаться до 30 секунд:

rvReport.RefreshReport()

Ответы на вопрос(11)

Ваш ответ на вопрос