2009-11-23 2 views
2

У нас есть версия управления ReportViewer на VS 2005 на странице ASP.NET. Отчеты выполняются в службах отчетов SQL2008 и отображаются правильно. У нас есть интерактивная сортировка по столбцам, которая работает как обычно ... обычно.Тайм-аут контроля ReportViewer по сортировке

На больших результирующих наборах (более 100 страниц) сортировка останавливается, на экране отображается белый фон со словами: «Операция завершена». Ироническая часть состоит в том, что он делает это примерно через 3 секунды. Я думал, что у меня это было, когда я увидел, что ServerReport.Timeout по умолчанию 2000 мс, но изменение этого значения до 30 000 мс не повлияло. Это, как он даже не имеет желания попробовать сортировки, что много данных :) Вот код:

 var rvMain = new ReportViewer { 
      EnableViewState = true, 
      ProcessingMode = ProcessingMode.Remote, 
      ShowRefreshButton = false, 
      AsyncRendering = true, 
      ShowCredentialPrompts = false, 
      ShowDocumentMapButton = true, 
      DocumentMapCollapsed = true, 
     }; 
     rvMain.ServerReport.DisplayName = displayName; 
     rvMain.ServerReport.ReportPath = reportPath; 
     rvMain.ServerReport.Timeout = 30000; 

Я посмотрел на многие другие должности на различных тайм-аутов. Тем не менее, это ТОЛЬКО ПРОИЗОЙДЕТ, КОГДА СОРТИНГ, а затем только на больших результирующих наборах. Мы ценим любые предложения!!

UPDATE: сортировка не отключается, когда сортировка выполняется в отчете, запущенном непосредственно на веб-сайте SQL Report Manager.

ответ

2

Похоже, мы оказались в этом. Мы внедрили IReportServerConnection2 1 , потому что мы не используем состояние сеанса, и мы хотели контролировать учетные данные, используемые для подключения к Reporting Service. В этой реализации интерфейса у нас был необычный дефолт 2000 мс. Итак, в ту же поездку, которая встречается с интерактивной сортировкой, она использовала это значение по умолчанию вместо значения, установленного в первоначальном создании ReportViewer. Очевидно, что повышение значения таймаута в реализации IReportServerConnection2 зафиксировало его.