10
我对Autofac非常熟悉,我真正喜欢Autofac的一个特性就是模块的注册。有谁知道我可以如何使用Unity做到这一点?我很难找到在Google中使用哪些术语来提供统一的等价物(如果有的话)。我可以在Autofac中注册我的模块类型吗?
public class Global : HttpApplication, IContainerProviderAccessor
{
private static IContainerProvider _containerProvider;
protected void Application_Start(object sender, EventArgs e)
{
var builder = new ContainerBuilder();
builder.RegisterModule(new MyWebModule());
_containerProvider = new ContainerProvider(builder.Build());
}
[...]
public IContainerProvider ContainerProvider
{
get { return _containerProvider; }
}
}
public class MyWebModule: Module
{
protected override void Load(ContainerBuilder builder)
{
builder.RegisterModule(new ApplicationModule());
builder.RegisterModule(new DomainModule());
}
}
public class ApplicationModule: Module
{
protected override void Load(ContainerBuilder builder)
{
builder.Register(c => new ProductPresenter(c.Resolve<IProductView>()))
.As<ProductPresenter>()
.ContainerScoped();
}
}
我很喜欢,谢谢。 – Adam 2010-08-09 13:36:18
Unity中缺少什么?这是什么意外? – 2012-11-02 01:47:47