Pergunta

Eu estou precisando para corrigir um bug em um aplicativo ASP.NET 2.0 que usa ActiveReports 3.0 para gerar relatórios a partir de uma fonte proc SQL Server armazenado. O relatório funciona muito bem, mas os dados foi incorreto, de modo que fixou o proc armazenados e reran o relatório através da interface do ASP.NET.

O que estamos vendo é que ActiveReports ainda está exibindo a versão inicial dos dados. De fato, há um campo de dados relatório transmitido através de uma proc que indica quando os dados foram gerados, e confirma que é os dados antigos.

Assim, parece que ActiveReports é o cache o resultado mais cedo, e nós gostaríamos de transformar essa funcionalidade off, mas eu não estou vendo muito na documentação para explicar como as obras de cache (tempo de vida, etc.) ou como para configurar ou desativá-lo. Qualquer visão seria muito apreciada.

Aliás, não tenho certeza isso é relevante, mas não usar o controle WebViewer, em vez que criar uma instância de ActiveReport3, Run (), e depois usar a classe PdfExport para criar uma imagem PDF e Response.BinaryWrite () -lo diretamente.

Foi útil?

Solução

A razão que você não veja a documentação sobre a funcionalidade de cache em ActiveReports é porque não há nenhum a menos que você use o controle WebViwer :) No entanto, no cenário que você descreve -sem usando o AR webviewer- não vai realizar qualquer cache em si. Eu suspeito que o caching você está vendo é HTTP saída de cache, como o navegador, servidor (via ASP.NET cache de uma página ou usercontrol saída), ou algum proxy entre o servidor eo cliente é cache a saída anteriormente prestados.

O WebViewer faz aproveitam construídos em estrutura para armazenamento em cache do ASP.NET (políticas por exemplo WebCache, HTTP cache, etc.). Consulte SlidingExpirationInterval propriedade do WebViewer ClearCachedReport método para obter informações sobre como controlar como controlar o cache que ActiveReports faz.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top