2010-07-30 2 views
3

Доброе утро, Я хотел бы, чтобы в Unity был синглетный синглтон, этот синглтон нужно вводить так, чтобы методы RegisterInstance не сделали этого. Единственное, что я могу думать о том, в модуле конфигурации есть что-то вроде:Unity and Eager Singleton

container.RegisterType<Singletion, Singletion>(new ContainerControlledLigetimeManager()); 
container.Resolve<Singletion>(); 

но швы немного помадку-у меня.

+0

Если вы использовали Windsor или Autofac, вы могли бы сделать его компонентом Startable ... –

+0

Если бы я собирался выбросить его, я бы использовал IKVM & Guice. :) –

ответ

1

Мое лучшее предложение было бы реализовать пользовательский класс LifetimeManager. К сожалению, я не могу найти полезную документацию о том, как это сделать.

+0

Спасибо. Я изучил это и не мог понять, как, я думаю, это не выполнимо даже тогда. Я закончил создание пользовательского LifetimeManager (расширение ContainerControlledLigetimeManager) и вспомогательный класс. Класс-помощник прокручивал все зарегистрированные классы и заменял любого с этим менеджером по жизни. –