.NET용 ActiveReports 3.0에서 데이터 캐싱을 비활성화하는 방법은 무엇입니까?

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

  •  13-09-2019
  •  | 
  •  

문제

ActiveReports 3.0을 사용하여 SQL Server 저장 프로세스 소스에서 보고서를 생성하는 ASP.NET 2.0 앱의 버그를 수정해야 합니다.보고서는 제대로 실행되지만 데이터가 올바르지 않아 저장된 프로세스를 수정하고 ASP.NET 인터페이스를 통해 보고서를 다시 실행했습니다.

우리가 보고 있는 것은 ActiveReports가 여전히 초기 버전의 데이터를 표시하고 있다는 것입니다.실제로 데이터가 생성된 시기를 나타내는 proc에서 전달된 보고서 데이터 필드가 있으며 이는 오래된 데이터임을 확인합니다.

따라서 ActiveReports가 이전 결과를 캐싱하는 것으로 보이며 해당 기능을 끄고 싶지만 문서에서 캐시 작동 방식(Time to Live 등)이나 구성 또는 구성 방법을 설명하는 내용이 많지 않습니다. 비활성화하십시오.어떤 통찰력이라도 대단히 감사하겠습니다.

덧붙여서 이것이 관련성이 있는지 확실하지 않지만 WebViewer 컨트롤을 사용하지 않고 대신 ActiveReport3의 인스턴스를 만들고 Run()한 다음 PdfExport 클래스를 사용하여 PDF 이미지를 만들고 Response.BinaryWrite()를 직접 출력합니다. .

도움이 되었습니까?

해결책

ActiveReports의 캐싱 기능에 대한 문서를 볼 수 없는 이유는 WebViwer 컨트롤을 사용하지 않는 한 아무것도 없기 때문입니다. :) 그러나 설명하는 시나리오에서 - webviewer를 사용하지 않고 - AR은 캐싱 자체를 수행하지 않습니다.보고 있는 캐싱은 브라우저, 서버(페이지 또는 usercontrol의 ASP.NET 출력 캐싱을 통해) 또는 서버와 클라이언트 사이의 일부 프록시가 이전에 렌더링된 출력을 캐싱하는 것과 같은 HTTP 출력 캐싱인 것 같습니다.

WebViewer는 캐싱을 위해 ASP.NET에 내장된 프레임워크를 활용합니다(예:WebCache, HTTP 캐시 정책 등).WebViewer를 참조하세요. SlidingExpirationInterval 속성 그리고 ClearCachedReport 메서드 ActiveReports가 수행하는 캐싱을 제어하는 ​​방법에 대한 자세한 내용은

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top