我有一个名为AuthenticationStrategy
的类,我打算在控制器构造函数中注入它。
我有两个IAuthenticationProviders
: InternalAuthenticationProvider
和ExternalAuthenticationProvider
。
在AuthenticationStrategy
构造函数中,我想注入所有提供程序。
示例代码:
public class AuthenticationStrategy
{
private readonly Dictionary<string, IAuthenticationProvider> _authenticationProviders;
public AuthenticationStrategy(IAuthenticationProvider[] authenticationProviders)
{
if (authenticationProviders == null)
{
throw new ArgumentNullException("AuthenticationProviders");
}
_authenticationProviders = authenticationProviders
.ToDictionary(x => nameof(x), x => x);
}
}
我如何使用依赖注入注入多个提供程序? 示例代码:
services.AddScoped<IAuthenticationProvider, InternalAuthenticationProvider>();
services.AddScoped<IAuthenticationProvider, ExternalAuthenticationProvider>();
services.AddScoped<AuthenticationStrategy>();
有什么想法吗?