Я просто преобразовал проект MVC 4 в бета-версию MVC 5 (и проект Web Api в Web Api 2), и у меня возникли некоторые проблемы с DependencyResolver
, которые не могут быть решены класс, в котором я нуждаюсь.Autofac - Mvc 5 beta - DependencyResolver не получает тип
Вот класс, я хочу, чтобы решить:
public class GetPartsQueryValidationHandler
: IQueryValidationHandler<GetPartsQuery, Part[]>
{
...
}
Вот как я зарегистрировать его Autofac в Bootstrapper.cs (я делаю это в обоих проектах):
builder.RegisterAssemblyTypes(dataAccessAssembly)
.AsClosedTypesOf(typeof(IQueryValidationHandler<,>))
.InstancePerHttpRequest(); //..PerApiRequest in Web Api
Я также зарегистрировать DependencyResolver в обоих проектах:
в Mvc проекта:
DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
В Web Api Project:
GlobalConfiguration.Configuration.DependencyResolver = new AutofacWebApiDependencyResolver(container);
Тогда в третьем проекте я называю следующее разрешить ссылку:
var handlerType = typeof(IQueryValidationHandler<,>).MakeGenericType(query.GetType(), typeof(TResult));
dynamic handler = DependencyResolver.Current.GetService(handlerType);
Но это дает мне нуль handler
Мне нужно разрешите этот класс.