2016-11-18 4 views
0

Я использую Нэнси Framework и 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>>(); 

обработчик пустой! как это исправить? помогите мне, спасибо ...

+0

Я не верю, что nancy работает с шаблоном locator службы, чтобы получить доступ к вашим инъецированным услугам, вам придется делать это в модуле или других вводимых классах ... –

ответ

0

Я считаю, что вы регистрируете типы AsSelf (который является по умолчанию автофокусом). Не могли бы вы попробовать это?

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