Я создаю набор библиотек классов, которые создают отчеты в формате Office Open XML, и я использую статический Windo-контейнер IoC.
Моя проблема заключается в том, что одна из возможных точек входа в систему отчетов - через веб-интерфейс, что означает, что статический IoC-контейнер систем отчетности распределяется между несколькими веб-запросами, что приводит к исключениям, так как для каждого нового запроса система отчетов пытается перерегистрировать компоненты в Виндзоре, которые уже были зарегистрированы по более раннему запросу.
Я не хочу переносить регистрацию в веб-приложение global.asax, так как моя система отчетов больше не будет автономной.
Как я могу иметь контейнер IoC Windsor, который может быть общим для моих классов отчетов, но не может использоваться несколькими веб-запросами?