将 CastleWindsor 代码转换为 Unity 代码

Converting CastleWindsor-code to Unity-code

我在温莎城堡中使用了以下写法:

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.

中所写的连接字符串的名称

以下是您的操作方法:

var container = new UnityContainer();

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

一定要安装 Unity.Mvc NuGet 包。