Как отключить кэширование данных в ActiveReports 3.0 для .NET?

StackOverflow https://stackoverflow.com/questions/983107

  •  13-09-2019
  •  | 
  •  

Вопрос

Мне нужно исправить ошибку в приложении ASP.NET 2.0, которое использует ActiveReports 3.0 для создания отчетов из источника хранимой процедуры SQL Server.Отчет работает нормально, но данные были неверными, поэтому мы исправили хранимую процедуру и повторно запустили отчет через интерфейс ASP.NET.

Мы видим, что ActiveReports по-прежнему отображает раннюю версию данных.Фактически, из процедуры передается поле данных отчета, которое указывает, когда данные были сгенерированы, и подтверждает, что это устаревшие данные.

Похоже, что ActiveReports кэширует более ранний результат, и мы хотели бы отключить эту функцию, но я не вижу в документации подробного объяснения того, как работает кеш (время жизни и т. д.) или как его настроить или отключите его.Любая информация будет принята с благодарностью.

Кстати, не уверен, что это актуально, но мы не используем элемент управления WebViewer, а создаем экземпляр ActiveReport3, запускаем его(), а затем используем класс PdfExport для создания изображения PDF и Response.BinaryWrite() напрямую его выводим. .

Это было полезно?

Решение

Причина, по которой вы не видите документацию о функциях кэширования в ActiveReports, заключается в том, что ее нет, если вы не используете элемент управления WebViwer :) Однако в описанном вами сценарии - без использования веб-просмотра - AR не будет выполнять какое-либо кэширование самостоятельно.Я подозреваю, что кэширование, которое вы видите, представляет собой кэширование вывода HTTP, такое как браузер, сервер (через кэширование вывода страницы или пользовательского элемента управления ASP.NET) или какой-либо прокси-сервер между сервером и клиентом кэширует ранее обработанный вывод.

WebViewer использует преимущества встроенной среды ASP.NET для кэширования (например,WebCache, политики кэширования HTTP и т. д.).См. WebViewer Свойство SlidingExpirationInterval и Метод ClearCachedReport для получения информации об управлении кэшированием, которое выполняет ActiveReports.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top