Posso immaginare che questo potrebbe essere abbastanza semplice da fare a Castle, ma sono nuovo della tecnologia e sono stato su Google per ore senza fortuna!Come si istanzia il componente come Singleton al momento della registrazione?
Ho il seguente:
container.Register(
Component.For<MySpecialClass>().UsingFactoryMethod(
() => new MySpecialClass()).LifeStyle.Singleton);
Ora giustamente questa è di essere pigro-caricato, vale a dire l'espressione lambda passata a UsingFactoryMethod() non è in esecuzione fino a quando ho effettivamente chiedo Castello per risolvere i me il istanza della classe.
Ma vorrei che Castle crei l'istanza non appena l'ho registrata. È possibile?
Grazie! Ecco cosa ho finito usando - container.Register (Component.For(). Instance (new MySpecialClass())); –
jameskind
Questo non sembra l'approccio migliore poiché non si lascia l'istanziazione al contenitore e quindi si interrompe il modello IoC. –
@DavidPerlman Giusto, quando ho scritto questa risposta, penso che non ci fosse un modo così semplice come la recente risposta di MosheLevi descrive. –