2016-11-18 38 views
0

我使用南希框架和autofac,我不喜欢这样的引导程序:南希DependencyResolver

var services = Assembly.Load("ProjectDomain"); 
builder.RegisterAssemblyTypes(services) 
    .AsClosedTypesOf(typeof(ICommandHandler<>)) 
    .InstancePerRequest(); 
builder.RegisterAssemblyTypes(services) 
    .AsClosedTypesOf(typeof(IValidationHandler<>)) 
    .InstancePerRequest(); 

,但它不工作.....

ICommandHandler<TCommand> handler = 
    DependencyResolver.Current.GetService<ICommandHandler<TCommand>>(); 

处理器为null!如何解决它?帮助我,谢谢...

+0

我不相信nancy与服务定位器模式一起工作,为了访问您注入的服务,您必须在模块或其他注入类中执行它... –

回答

0

我相信你注册的类型AsSelf(这是默认的autofac行为)。你可以试试吗?

builder.RegisterAssemblyTypes(services) 
    .AsClosedTypesOf(typeof(ICommandHandler<>)) 
    .AsImplementedInterface() 
    .InstancePerRequest();