Net Core Dependency Injection for Non-Controller

后端 未结 4 573
挽巷
挽巷 2020-12-05 07:40

Seems crazy that something like this is causing me such a headache. But here it is:

How do you use the built-in dependency injection for net core for a non-controll

4条回答
  •  佛祖请我去吃肉
    2020-12-05 08:28

    Just make the class a service.

    In startup.cs

    services.AddScoped();
    

    Then in controller, same as you do for other services:

    private readonly AccountBusinessLayer _ABL;
    

    Include in constructor as you do for other services:

     public AccountController(
        UserManager userManager,
        SignInManager signInManager,IOptions identityCookieOptions,
        IEmailSender emailSender,
        ISmsSender smsSender,
        ILoggerFactory loggerFactory,
        RoleManager roleManager,
        AccountBusinessLayer ABL
      )
    {
      _userManager = userManager;
      _signInManager = signInManager;
      _externalCookieScheme = identityCookieOptions.Value.ExternalCookieAuthenticationScheme;
      _emailSender = emailSender;
      _smsSender = smsSender;
      _logger = loggerFactory.CreateLogger();
      _roleManager = roleManager;
      _ABL = ABL;
    }
    

提交回复
热议问题