成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

揭秘.NET Core控制臺程序:如何優雅地讀取配置、注入依賴、配置日志與使用IOptions

開發 后端
本文將指導您如何優雅地在.NET Core控制臺程序中讀取appsettings.json配置文件、注入依賴、配置日志以及使用IOptions模式。

在.NET Core中,控制臺程序不僅是簡單的命令行應用,它也可以是一個功能強大的、可配置和可擴展的應用程序。本文將指導您如何優雅地在.NET Core控制臺程序中讀取appsettings.json配置文件、注入依賴、配置日志以及使用IOptions模式。

一、讀取appsettings.json配置文件

appsettings.json是.NET Core項目中的標準配置文件,用于存儲應用程序的設置。在控制臺應用程序中,您可以輕松地讀取這個文件中的值。

首先,添加appsettings.json到您的項目中,并填充必要的配置信息。

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "MyNamespace": "Debug"
    }
  },
  "CustomSettings": {
    "Setting1": "Value1",
    "Setting2": "Value2"
  }
}

然后,在您的控制臺應用程序中,創建一個配置類來映射appsettings.json中的設置。

public class Settings
{
    public LoggingSettings Logging { get; set; }
    public CustomSettings CustomSettings { get; set; }
}

public class LoggingSettings
{
    public Dictionary<string, LogLevel> LogLevel { get; set; }
}

public class CustomSettings
{
    public string Setting1 { get; set; }
    public string Setting2 { get; set; }
}

在Program.cs中,配置依賴注入容器以使用這些設置。

public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args)
        .ConfigureAppConfiguration((hostingContext, config) =>
        {
            var env = hostingContext.HostingEnvironment;

            config.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
                  .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true, reloadOnChange: true);

            // 配置其他配置源...
        })
        .ConfigureServices((hostContext, services) =>
        {
            services.Configure<Settings>(hostContext.Configuration.GetSection("CustomSettings"));
            services.AddSingleton<IOptions<Settings>>(sp => sp.GetRequiredService<IOptionsMonitor<Settings>>().CurrentValue);

            // 配置其他服務...
        });

二、注入依賴

使用依賴注入(DI)模式,您可以輕松地將服務注入到控制臺應用程序中。在上面的CreateHostBuilder方法中,您可以注冊服務并指定它們的作用域(例如,單例、作用域或瞬態)。

三、配置日志

在appsettings.json中,我們配置了日志級別。要使這些設置生效,您需要配置日志提供程序,如Console或Debug。

services.AddLogging(builder =>
{
    builder.AddConfiguration(hostContext.Configuration.GetSection("Logging"));
    builder.AddConsole();
    builder.AddDebug();
});

四、使用IOptions

IOptions模式允許您輕松地訪問配置數據。在上面的ConfigureServices方法中,我們添加了IOptions<Settings>到服務容器中,這樣我們就可以在應用程序的任何地方注入IOptions<Settings>來訪問配置數據。

public class MyService
{
    private readonly Settings _settings;

    public MyService(IOptions<Settings> options)
    {
        _settings = options.Value;
    }

    public void DoSomething()
    {
        // 使用_settings中的值
    }
}

五、總結

通過上述步驟,您已經掌握了在.NET Core控制臺程序中如何讀取appsettings.json配置文件、注入依賴、配置日志和使用IOptions模式的基本知識。這些技術可以幫助您構建更加健壯、可擴展和可維護的.NET Core控制臺應用程序。

責任編輯:趙寧寧 來源: 后端Q
相關推薦

2009-03-04 10:10:49

控制臺桌面虛擬化Xendesktop

2018-09-25 10:15:30

Linux虛擬控制鼠標

2024-08-12 08:15:46

2024-12-30 12:00:00

.NET Core依賴注入屬性注入

2021-12-05 18:22:20

.NETLS Cipher套件

2024-11-27 00:24:04

2009-04-28 09:51:21

WinForm控制臺輸出

2022-03-30 08:40:00

JavaScript控制臺

2022-04-20 20:27:51

Hydra配置文件開發工具

2011-06-10 15:21:25

Qt 控制臺

2024-11-12 07:28:39

2011-07-06 15:25:33

Windows控制臺

2023-08-29 09:11:42

容器IOC依賴注入

2024-04-28 10:58:00

C#編程窗口關閉事件

2021-01-28 14:53:19

PHP編碼開發

2010-12-21 14:32:43

操作控制臺

2024-04-18 08:39:57

依賴注入控制反轉WPF

2010-03-22 18:42:23

2025-04-18 08:45:26

2024-10-21 07:15:08

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 性高朝久久久久久久3小时 av一区二区三区四区 | 久久亚洲一区二区 | 欧美成人影院在线 | 久久蜜桃资源一区二区老牛 | 午夜激情小视频 | 在线一级片 | 国产在线视频一区 | 久草在线在线精品观看 | 97天天干| 国产一区二区在线免费观看 | 亚洲欧美精品国产一级在线 | 一级做a爰片性色毛片16美国 | 成人精品在线视频 | 毛片区 | 欧美操操操| 欧美激情在线观看一区二区三区 | 国产精品一区一区三区 | 黄色大片免费播放 | 毛片免费看 | 精品九九| 国产大毛片 | 国产伦精品一区二区三区在线 | 免费视频久久久久 | 午夜一级做a爰片久久毛片 精品综合 | 成人免费网站 | 国产精品日韩欧美一区二区三区 | 午夜视频在线免费观看 | 中文字幕 在线观看 | 日韩高清成人 | 久久久久国产精品一区三寸 | 亚洲字幕在线观看 | 欧美激情视频一区二区三区免费 | 国精品一区 | 欧美中文字幕一区二区三区亚洲 | 2019精品手机国产品在线 | 黄视频免费| 成人国产精品免费观看 | 久久久毛片 | 国产视频精品免费 | 中文字幕av网站 | 久久99国产精品 |