Je construis un ensemble de bibliothèques de classes qui produisent des rapports basés sur le format XML ouvert et j'utilise un conteneur IoC statique de Windsor. Mon problème est qu'un point d'entrée possible au système de reporting est via une interface Web, ce qui signifie que le conteneur IoC statique des systèmes de reporting est partagé entre plusieurs requêtes Web, ce qui entraîne des exceptions car pour chaque nouvelle requête, le système de reporting essayer de réenregistrer des composants à Windsor qui étaient déjà enregistrés par une demande antérieure.Comment puis-je avoir un conteneur Windsor IoC qui peut être partagé entre mes classes mais pas partagé entre plusieurs requêtes Web?
Je ne souhaite pas déplacer l'enregistrement dans l'application web global.asax car mon système de reporting ne sera plus autonome.
Comment puis-je avoir un conteneur Windsor IoC qui peut être partagé entre mes classes de génération de rapports mais pas partagé entre plusieurs requêtes Web?
N'utilisez pas de localisateur de service statique. C'est un anti-pattern et vous rencontrez maintenant l'un des problèmes inhérents. Cela devrait vous amener à reconsidérer sérieusement votre conception - peut-être dans cette direction: http://stackoverflow.com/questions/2045904/dependency-inject-di-friendly-library/2047657#2047657 –