Me imagino que esto podría ser bastante sencillo de hacer en Castle pero soy nuevo en la tecnología y he estado buscando en Google durante horas ¡sin suerte!¿Cómo puedo crear una instancia de componente como Singleton en el registro?
Tengo el siguiente:
container.Register(
Component.For<MySpecialClass>().UsingFactoryMethod(
() => new MySpecialClass()).LifeStyle.Singleton);
Ahora con razón esto es ser vago-cargado, es decir, la expresión lambda pasado a UsingFactoryMethod() no está siendo ejecutado hasta que realmente pido a Castillo a resolver el instancia de la clase.
Pero me gustaría que Castle cree la instancia tan pronto como la haya registrado. es posible?
¡Gracias! Esto es lo que terminé usando - container.Register (Component.For(). Instance (new MySpecialClass())); –
jameskind
Esto no se ve como el mejor enfoque ya que no se está dejando la creación de instancias en el contenedor y, por lo tanto, se está rompiendo el patrón de IoC. –
@DavidPerlman Derecho, cuando escribí esta respuesta, creo que no fue tan fácil como lo describe la respuesta reciente de MosheLevi. –