Notre application utilise SQL Server Reporting Services et permet aux utilisateurs d'ajouter des filtres personnalisés aux rapports. Nous faisons cela en modifiant le RDL et en téléchargeant le RDL modifié sur le serveur pour créer un nouveau rapport. Le problème est qu'après que le rapport a été exécuté une fois, il n'est plus nécessaire; c'est vraiment juste un rapport temporaire. De toute évidence, cela aboutirait à de nombreux rapports temporaires. Nous avons besoin d'un moyen de les nettoyer.Nettoyage des rapports SSRS temporaires
Nous avons déjà pensé à des méthodes externes telles que la création d'un service ou d'un travail pour supprimer périodiquement les rapports, et c'est probablement ce que nous finirons par faire si nous ne pouvons pas trouver quelque chose de mieux. Ce que nous nous demandons, est-ce que SSRS lui-même fournit une meilleure façon de le faire? Nous avons pensé essayer d'utiliser en quelque sorte une instance mise en cache qui serait expirée, mais cela ne semble fonctionner que sur une instance exécutée d'un rapport et non sur le rapport lui-même. Autant que je sache, il n'y a aucun moyen de mettre un rapport à expiration. Existe-t-il un autre moyen de faire en sorte que SSRS se nettoie pour nous?
La suppression immédiate du rapport n'est pas une option car notre exécution est asynchrone.
Bonne astuce pour vérifier la session active dans la base de données temporaire. Quant à l'utilisation du code intégré dans le rapport, c'est une bonne idée, mais cela ne fonctionnera probablement pas pour notre scénario. Notre exigence est qu'il soit très facile pour nos utilisateurs finaux de développer leurs propres rapports personnalisés. Les obliger à écrire du code pour leurs rapports ne volera probablement pas. Je me demande également quel serait l'impact sur les performances du code évaluant chaque rangée. –