亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

依賴注入不適用于 IConfiguration C#.Net Core

依賴注入不適用于 IConfiguration C#.Net Core

C#
弒天下 2022-12-24 10:28:45
我使用以下代碼注入了 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;    }執行此函數時對象_configuration為空,因此拋出空指針異常,
查看完整描述

2 回答

?
SMILET

TA貢獻1796條經驗 獲得超4個贊

我在 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>();

    }

}


查看完整回答
反對 回復 2022-12-24
?
繁花如伊

TA貢獻2012條經驗 獲得超12個贊

也可以按如下方式進行:


(我在 .net 核心控制臺應用程序的主線程中執行此操作)


public static void Main(string[] args)

        {


            IConfigurationBuilder configurationBuilder = new ConfigurationBuilder();

            // Duplicate here any configuration sources you use.

            configurationBuilder.AddJsonFile("AppSettings.json");

            IConfiguration configuration = configurationBuilder.Build();


            Program.token = configuration["token"];

            Program.guidID = configuration["guidID"];

            Program.kind = configuration["kind"];

我在這個stackoverflow 問題中找到了解決方案。


這個對我有用。希望它也對你有用。


查看完整回答
反對 回復 2022-12-24
  • 2 回答
  • 0 關注
  • 312 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號