将CastleWindsor代码转换为Unity代码

时间:2015-12-09 14:18:12

标签: c# unity-container castle-windsor

我在温莎城堡中使用了以下内容:

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的新手,所以这就是我提出这个问题的原因。 &#34; MyMusicDb&#34;实际上是web.config中写的connectionstring的名称。

1 个答案:

答案 0 :(得分:1)

以下是如何做到这一点:

var container = new UnityContainer();

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

请务必安装Unity.Mvc NuGet包。