не могу зарегистрировать объекты с помощью Unity 2.0 - PullRequest
0 голосов
/ 28 октября 2011

Я недавно создал веб-сервис и использую Unity, чтобы ввести свои объектные зависимости.Мой корень композиции - это Application_Start в веб-сервисах, и я использую web.config для сопоставления моего объекта с интерфейсом.Все работало нормально, однако после того, как я загрузил свой проект в tfs, я продолжаю получать сообщение о том, что он не может разрешить один из интерфейсов.Я удалил код, чтобы зарегистрировать свои объекты из web.config и зарегистрировал их в коде вместо этого, чтобы протестировать, и все это работает нормально.Есть идеи, в чем проблема.Любые идеи, как я могу решить эту проблему.

Перед TF: -

        UnityContainer uContainer = new UnityContainer();
        UnityConfigurationSection Section = (UnityConfigurationSection)ConfigurationManager.GetSection("unity");
        Section.Configure(uContainer, "CentralRepositoryContainer");
        Application["uContainer"] = uContainer;

Исправленный код, который отлично работает: -

        UnityContainer uContainer = new UnityContainer();
        uContainer.RegisterType<ICentralRepositoryLifeTimehelper, CentralRepositoryLifeTimeHelper>();
        uContainer.RegisterType<IJobsHandler, JobsHandler>();
        Application["uContainer"] = uContainer;

1 Ответ

0 голосов
/ 28 октября 2011

Я не знаю проблемы, но для устранения проблем распечатайте все регистрации контейнеров Unity и посмотрите, что пропало / изменено.

Используйте пример кода из Получение информации о регистрации контейнера

...