0
我现在看看Griffin.Decoupled
和Griffin.Container
库。 在我的ASP.MVC4应用程序中,我想在第一步中使用IocQueryDispatcher
。Griffin.Container/Griffin.Decoupled:容器本身的注册
我的问题是 registrar.RegisterType<IQueryDispatcher, IocQueryDispatcher>
因为IocQueryDispatcher
有IServiceLocator
依赖登记。
在ASP.MVC应用当前的注册看起来像
protected static void Register(ContainerRegistrar registrar)
{
registrar.RegisterType<IQueryDispatcher, IocQueryDispatcher>();
// this dont works because the _container is null
registrar.RegisterInstance<IServiceLocator>(_container);
}
public static void Configure()
{
var registrar = new ContainerRegistrar();
registrar.RegisterApiControllers(Assembly.GetExecutingAssembly());
registrar.RegisterControllers(Assembly.GetExecutingAssembly());
var builder = new ContainerBuilder();
Register(registrar);
// this method creates a new container
_container = registrar.Build();
GlobalConfiguration.Configuration.DependencyResolver = new GriffinWebApiDependencyResolver(_container);
DependencyResolver.SetResolver(new GriffinDependencyResolver(_container));
}
应如何IServiceLocator /容器本身可以注册? (该容器应该注册为singleton)
分析完库后我找不到这样做的方法。
啊,错过了@样品。 – Khh