2015-12-09 3 views
0

Я использовал написать в Виндзорском замке:Преобразование CastleWindsor-код для Unity-кода

public void Install(IWindsorContainer container, IConfigurationStore store) 
    { 
     //Makes sure we only get one DbConnection 
     container.Register(Component.For<IMyMusicSession>().UsingFactoryMethod(_ => new MyMusicSession("MyMusicDb")).LifestylePerWebRequest()); 
    } 

Как я могу сделать то же самое в MS Unity? Я новичок в Unity, поэтому я задаю вопрос. «MyMusicDb» на самом деле является именем соединительной строки, написанной в файле web.config.

ответ

1

Вот как вы можете это сделать:

var container = new UnityContainer(); 

container.RegisterType<IMyMusicSession>(
    new PerRequestLifetimeManager(), 
    new InjectionFactory(c => new MyMusicSession("MyMusicDb"))); 

Обязательно установите пакет NuGet Unity.Mvc.