UnityContainer не может разрешить тип - PullRequest
0 голосов
/ 17 февраля 2012

У меня проблема с разрешением типа, который зарегистрирован в UnityContainer.В моем загрузчике я переопределил метод ConfigureContainer.Теперь этот метод выглядит такзначение.Я также попробовал

var anotherReader = Container.TryResolve(typeof (CommandReaderWriter));

, но это не помогло.Тем не менее, интересен тот факт, что

 var isRegistered = Container.IsTypeRegistered(typeof (CommandReaderWriter));

возвращает true.

, так каков подходящий способ регистрации синглетона в UnityContainer?

1 Ответ

0 голосов
/ 02 апреля 2012

Два способа, которые я использую для регистрации синглтона в Unity:

_container.RegisterInstance<CommandReaderWriter>(new CommandReaderWriter);

и

_container.RegisterType<CommandReaderWriter,CommandReaderWriter>(new ContainerControlledLifetimeManager());

Оба эти метода устанавливают Unity LifeTimeManager в качестве ContainerControlledLifeTimeManager, то есть Unity-говорить для одного человека.

Если вы хотите точно контролировать конструкцию объекта, используйте RegisterInstance.Второй вариант - мой предпочтительный, потому что тогда Unity выполняет все управление зависимостями.

...