Je peux imaginer que cela pourrait être assez simple à faire à Castle mais je suis nouveau à la technologie et ai été Google pendant des heures sans chance!Comment instancier un composant en tant que Singleton lors de l'enregistrement?
Je donne les résultats suivants:
container.Register(
Component.For<MySpecialClass>().UsingFactoryMethod(
() => new MySpecialClass()).LifeStyle.Singleton);
maintenant tout à fait à juste titre cela est chargé paresseux, à savoir l'expression lambda passé pour UsingFactoryMethod() ne sont pas en cours d'exécution jusqu'à ce que je demande en fait le château de me résoudre la instance de la classe.
Mais je voudrais que Castle crée l'instance dès que je l'ai enregistrée. Est-ce possible?
Merci! Voici ce que j'ai fini par utiliser - container.Register (Component.For(). Instance (new MySpecialClass())); –
jameskind
Cela ne semble pas être la meilleure approche puisque vous ne quittez pas l'instanciation vers le conteneur et que vous ne respectez pas le schéma IoC. –
@DavidPerlman À l'époque où j'ai écrit cette réponse, je pense que la réponse de MosheLevi n'était pas si simple. –