Проблема кэширования

Обсуждение Stimulsoft Reports.WEB
Ответить
fromdd
Сообщения: 7
Зарегистрирован: 12 янв 2015, 09:41

Проблема кэширования

Сообщение fromdd »

Доброго дня! возникла проблема с кэшированием отчета.

Код: Выделить всё

protected void Page_Load(object sender, EventArgs e)
        {
        DataTable table = GetTable();
        DataSet ds = new DataSet("office");
        ds.Tables.Add(table);
        StiReport stiReport1 = new StiReport();
        stiReport1.Load("тут путь к файлу"); 
        stiReport1.RegData("office", ds);
        stiReport1.Dictionary.Synchronize();
        stiReport1.Compile();
        StiWebViewer1.Report = stiReport1;
        }
В GetTable() запрашивается очень большое количество данных около 10000 строк (через сторонний компонент). При переходе по страницам отчета постоянно запрашиваются данные, что занимает около 10 сек на один запрос, соответственно просматривать данный отчет не комфортно. Пробовал менять свойства RenderMode и CacheMode у компонента stiReport - проблема осталась. При каждом переключении страницы происходит запрос данных, как можно это исправить?
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

Re: Проблема кэширования

Сообщение HighAley »

Здравствуйте.

Установите режим RenderMode="AjaxWithCache", но при переходе на другую страницу отчета (или, например, изменении зума отчета) срабатывает обработчик события Page_Load, что влечет за собой выполнение всей логики страницы заново. Есть способ обойти такое.

Код: Выделить всё

if (Page != null && !Page.IsPostBack)
{
    .....
    ваш код
    .....
}
Спасибо.
Ответить