zoukankan      html  css  js  c++  java
  • 在.NET Core控制台应用程序中使用强类型配置

    想象一下,你写一个控制台应用程序,你想要从配置文件中以强类型方式读取配置。

    .NET Core 可以帮助我们解决。 通常我会在ASP.NET Core MVC中演示,但简单起见,只在控制台应用程序中演示。

    让我们创建两个配置类,用于保存应用程序和模块名称。

    public class MySettings
    {
        public string ApplicationName { get; set; } 
    }
    
    public class MyModuleSettings
    {
        public string ModuleName { get; set; }
    }

    应用程序配置文件如下所示:

    {
      "ApplicationName": "My sample application",
    
      "SectionA": {
        "ModuleName": "My sample module"
      }
    }

    最后,让我们在应用程序中使用它。

    public class Program
    {
        public static void Main(string[] args)
        {
            var builder = new ConfigurationBuilder()
                .SetBasePath(Directory.GetCurrentDirectory())
                .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
                .AddEnvironmentVariables();
    
            IConfigurationRoot configuration = builder.Build();
    
            var settings = new MySettings();
            configuration.Bind(settings);
    
            var moduleSettings = new MyModuleSettings();
            configuration.GetSection("SectionA").Bind(moduleSettings);
    
            Console.WriteLine($"My application name is '{settings.ApplicationName}'");
            Console.WriteLine($"My module name is '{moduleSettings.ModuleName}'");
    
            Console.ReadLine();
        }
    }

    所有的实现都是通过“Bind”方法。

    不要忘记添加所需的依赖关系。 project.json应该包含以下内容:

    {
      "version": "1.0.0-*",
      "buildOptions": {
        "emitEntryPoint": true
      },
    
      "dependencies": {
        "Microsoft.Extensions.Configuration": "1.1.0",
        "Microsoft.Extensions.Configuration.Binder": "1.1.0",
        "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.1.0",
        "Microsoft.Extensions.Configuration.FileExtensions": "1.1.0",
        "Microsoft.Extensions.Configuration.Json": "1.1.0",
        "Microsoft.NETCore.App": {
          "type": "platform",
          "version": "1.0.1"
        }
      },
    
      "frameworks": {
        "netcoreapp1.0": {
          "imports": "dnxcore50"
        }
      }
    }

    运行结果:

    在.NET Core应用程序中使用强类型配置类非常容易!希望本文对你有所帮助~。

  • 相关阅读:
    linux svn切换用户
    解决QQ“抱歉,无法发起临时会话,您可以 添加对方为好友以发送消息”
    node.js中http.respone.end方法概述
    niginx:duplicate MIME type "text/html" in nginx.conf 错误(转载)
    大三暑假实习,我们可以怎么做
    一个Java程序员的实习总结(2)
    正式工作的前奏——一个Java程序员的实习总结(1)
    【个人】当我秀智商的时候我秀什么
    基于java的设计模式入门(1)——为什么要学习设计模式
    【个人】我不愿让你一个人
  • 原文地址:https://www.cnblogs.com/smallprogram/p/6477715.html
Copyright © 2011-2022 走看看