Question

Je besoin de corriger un bug dans une application ASP.NET 2.0 qui utilise ActiveReports 3.0 pour générer des rapports à partir d'une source de procédure stockée SQL Server. Le rapport fonctionne très bien, mais les données étaient incorrectes, nous avons donc fixé la procédure stockée et exécutiez le rapport via l'interface ASP.NET.

Ce que nous voyons est que ActiveReports affiche toujours la première version des données. En fait, il y a un champ de données du rapport passé par le proc qui indique quand les données ont été générées, et il confirme que ce sont les données périmées.

Il semble donc que la mise en cache ActiveReports est le résultat plus tôt, et nous aimerions faire de cette fonctionnalité hors, mais je ne vois pas beaucoup dans la documentation pour expliquer comment fonctionne le cache (le temps de vivre, etc.) ou comment pour configurer ou désactiver. Toute idée serait grandement apprécié.

Par ailleurs, pas sûr que cela est pertinent, mais nous ne pas utiliser le contrôle de WebViewer plutôt nous créons une instance de ActiveReport3, Run (), puis utiliser la classe PdfExport pour créer une image PDF et Response.BinaryWrite () elle directement.

Était-ce utile?

La solution

La raison pour laquelle vous ne voyez pas la documentation sur la fonctionnalité de mise en cache ActiveReports est parce qu'il n'y a pas, sauf si vous utilisez le contrôle WebViwer :) Cependant, dans le scénario que vous décrivez -sans l'aide de la webviewer- AR ne réalisera aucun lui-même la mise en cache. Je soupçonne que la mise en cache que vous voyez est la mise en cache de sortie HTTP tels que le navigateur, serveur (via la mise en cache de sortie ASP.NET d'une page ou usercontrol), ou un proxy entre le serveur et le client met en cache la sortie rendue précédemment.

Le WebViewer prend avantage de ASP.NET construit dans le cadre de la mise en cache (par exemple WebCache, des politiques de cache HTTP, etc.). Voir SlidingExpirationInterval propriété WebViewer > et procédé ClearCachedReport pour plus d'informations sur le contrôle de la façon de contrôler la mise en cache que ActiveReports fait faire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top