как внедрить бизнес-сервис в AuthorisationServiceProvider - PullRequest
0 голосов
/ 02 сентября 2018

Я использую OWIN для аутентификации. Я хочу внедрить BusinessService в AuthorisationServiceProvider, как мы можем этого добиться.

1 Ответ

0 голосов
/ 02 сентября 2018

В вашем файле Startup.Auth.cs прикрепите ваш ApplicationUserManager, как показано ниже

app.CreatePerOwinContext(() => DependencyResolver.Current.GetService<ApplicationUserManager>());

А в ApplicationUserManager используйте внедрение зависимостей для внедрения вашей бизнес-службы, как показано ниже

private readonly IBusinessService _businessService;

public ApplicationUserManager(IdentityRepository store, IBusinessService businessService) : base(store)
{
    _businessService = businessService;
}

Наконец, в вашем файле DependencyRegistrar.cs настройте ваш преобразователь, как показано ниже

container.RegisterType<IAuthenticationManager>(new InjectionFactory(c => HttpContext.Current.GetOwinContext().Authentication));
container.RegisterType<IBusinessService, BusinessService>();
...