Je suis assez familier avec Autofac et une caractéristique que j'aime vraiment chez Autofac est l'enregistrement des modules. Est-ce que quelqu'un sait comment je peux le faire avec Unity? J'ai du mal à trouver les termes à utiliser dans Google pour trouver l'équivalent de l'unité s'il y en a un.Puis-je enregistrer mes types dans des modules dans Unity comme je peux en 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();
}
}
Je pensais autant, merci. – Adam
Qu'est-ce qui manque spécifiquement dans Unity? Qu'est-ce que ça fait qui est inattendu? –