【发布时间】:2017-04-19 10:49:07
【问题描述】:
就在最近,我一直在尝试新的 asp.net 功能并遇到了这个问题。 我知道我们可以将配置读取为强类型实例。但我不知道如何在 Microsoft 依赖注入中将配置注入我的类。
public interface IProvider
{
IMyConfiguration Configuration {get;}
Task Connect();
}
public abstract class Provider: IProvider
{
private IMyConfiguration _myConfig;
public Provider(IMyConfiguration config)
{
this._myConfig= config;
}
public IMyConfiguration Configuration => _myConfig;
public abstract Task Connect();
}
public class ProviderOne:Provider
{
public ProviderOne(IMyConfiguration config) : base(config)
{
}
public Task Connect()
{
//implementation
}
}
配置类:
public interface IMyConfiguration
{
string TerminalId { get;set; }
bool IsDefault {get;set;}
}
public class MyConfiguration : IMyConfiguration
{
string TerminalId { get;set; }
bool IsDefault {get;set;}
}
然后在我声明的 startup.cs 中,需要通过 MyConfiguration。但我找不到这样做的方法。请指教!
public void ConfigureServices(IServiceCollection services)
{
services.Configure<MyConfiguration>(Configuration.GetSection("MyConfiguration"));
services.AddSingleton<IProvider>(new ProviderOne(//configuration)); //here is the problem
}
【问题讨论】:
标签: c# dependency-injection asp.net-core .net-core