У меня есть потокобезопасный объект, создание которого требует больших затрат и который должен быть доступен через мое приложение (Lucene.Net IndexReader).
объект может стать недействительным, и в этот момент мне нужно его воссоздать (IndexReader.IsCurrent имеет значение false, нужен новый экземпляр с помощью IndexReader.Reopen).
Я хотел бы использовать контейнер IoC (StructureMap) для управления создание объекта, но я не могу разобраться, возможен ли такой сценарий. Это похоже на своего рода «условный одноэлементный» жизненный цикл. Любые альтернативные предложения?