gpt4 book ai didi

c# - 依赖注入(inject)不适用于 IConfiguration C#.Net Core

转载 作者:行者123 更新时间:2023-12-03 18:28:45 25 4
gpt4 key购买 nike

我使用以下代码注入(inject)了 IConfiguration:

 public class InjectorConfig
{
/// <summary>
/// configuration for DI
/// </summary>
/// <param name="services"></param>
/// <param name="configuration"></param>
public static void Init(IServiceCollection services, IConfiguration configuration)
{
services.AddSingleton<IConfiguration>(provider => configuration);
services.AddSingleton<AppSettingUtil>();
}
}
在我的类里面使用它时称为 AppSettingUtil 我在 IConfiguration 对象上收到空指针异常。
下面是我正在使用的代码
public class AppSettingUtil
{
public AppSettingUtil(IConfiguration configuration)
{
_configuration = configuration;
}
public IConfiguration Configuration { get; }
}
在执行下面的函数时,我得到空指针异常
 private static object GetDefault(string name)
{
if (_configuration[name] != null)
{
return Convert.ToInt32(_configuration[name]);
}
return null;
}
执行此函数时,对象 _配置为空,因此抛出空指针异常,

最佳答案

我在 asp.net core 中使用这个并为我工作:

 public class Startup
{
public Startup(IHostingEnvironment env , IConfiguration configuration)
{
Configuration = configuration;

}

public IConfiguration Configuration { get; }


public void ConfigureServices(IServiceCollection services)
{
services.AddSingleton<IConfiguration>(provider => configuration);
services.AddSingleton<AppSettingUtil>();
}
}

关于c# - 依赖注入(inject)不适用于 IConfiguration C#.Net Core,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55790277/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com