Tengo un objeto multi-hilo que es caro para crear y debe estar disponible a través de mi aplicación (un Lucene.Net IndexReader).StructureMap 'Singleton condicional' para Lucene.Net IndexReader
El objeto puede dejar de ser válido, en cuyo momento tengo que volver a crearlo (IndexReader.IsCurrent es falso, necesita una nueva instancia con IndexReader.Reopen).
me gustaría poder usar un contenedor IoC (StructureMap) para gestionar la creación del objeto, pero no puedo averiguar si este escenario es posible. Se siente como una especie de ciclo de vida "singleton condicional".
¿Proporciona StructureMap tal característica? ¿Alguna sugerencia alternativa?
Estoy de acuerdo con casperOne. Piense en ocultar la instancia detrás de una interfaz/fachada para que pueda implementar estrategias más fácilmente, como la agrupación de objetos. – Steven
Consideré esto, pero es una pena eliminar la responsabilidad de la creación de objetos y la gestión de la vida del contenedor IoC. Definitivamente funcionará para mí y será mi solución alternativa si no encuentro algo más centrado en la IoC. –