zoukankan      html  css  js  c++  java
  • 04. Asp.Net Core 3.x 笔记 配置文件

    配置文件优先级

    1.appsettings.json
    2.appsettings.{xxxx}.json,比如: appsettings.Development.json
    3.环境变量
    4.命令行

    越靠后,优先级越高,将覆盖前者

    添加自定义配置

    appsettings.json:

    {
      "Logging": {
        "LogLevel": {
          "Default": "Information",
          "Microsoft": "Warning",
          "Microsoft.Hosting.Lifetime": "Information"
        }
      },
      "AllowedHosts": "*",
    
        "Three": {
        "BoldDepartmentEmployeeCountThreshold": 30
      }
    
    }
    

    获取及其使用配置项:

    • Startup.cs
        public class Startup
        {
            private readonly IConfiguration configuration;
            public Startup(IConfiguration configuatuion)
            {
                configuration = configuatuion;
                var three = configuration["Three:BoldDepartmentEmployeeCountThreshold"];
            }
    

    自定义配置对象及其获取

    • 自定义配置对象 ThreeOptions
        public class ThreeOptions
        {
            public int BoldDepartmentEmployeeCountThreshold { get; set; }
            public int MyProperty { get; set; }
        }
    
    • 注册配置对象
        public class Startup
        {
            private readonly IConfiguration configuration;
            public Startup(IConfiguration configuatuion)
            {
                configuration = configuatuion;
                //var three = configuration["Three:BoldDepartmentEmployeeCountThreshold"];
            }
    
            //注册服务
            public void ConfigureServices(IServiceCollection services)
            {
                ...
                services.Configure<ThreeOptions>(configuration.GetSection("Three"));
            }
    
    • xxxControler中使用:
        public class DepartmentController : Controller
        {
            private readonly IOptions<ThreeOptions> threeOptions;
    
            public DepartmentController(IDepartmentService departmentService, IOptions<ThreeOptions> threeOption)
            {
                this.departmentService = departmentService;
            }
    
    • 在Views使用xxx.cshtml中使用:
    @model Three.Models.Department
    @inject Microsoft.Extensions.Options.IOptions<Three.ThreeOptions> options
    ...
            @if (Model.EmployeeCount > options.Value.BoldDepartmentEmployeeCountThreshold)
            {
    ...
            }
    ...
    
    

    自定义配置文件

    • myconfig.json
    {
      "Three": {
        "BoldDepartmentEmployeeCountThreshold": 1000
      }
    }
    

    Program.cs

    
            public static IHostBuilder CreateHostBuilder(string[] args) =>
                Host.CreateDefaultBuilder(args)
                    .ConfigureAppConfiguration((context, configBuilder) => 
                    {
                        //configBuilder.Sources.Clear();
                        configBuilder.AddJsonFile("myconfig.json");
                    })
                    .ConfigureWebHostDefaults(webBuilder =>
                    {
                        webBuilder.UseStartup<Startup>();
                    });
    

    myconfig.json 会覆盖 appsettings.json 相同的配置项

  • 相关阅读:
    chrome 等浏览器不支持本地ajax请求的问题
    3:1 类型转换
    WebService-WSDL简单介绍
    WebService—CXF整合Spring实现接口发布和调用过程
    WebService—CXF—实现接口发布和客户端调用
    WebService—规范介绍和几种实现WebService的框架介绍
    (转)c# 扩展方法
    (转)C# Textbox的ImeMode取值对中文输入法的影响
    (转)Nandflash读写
    (转+整理)Nandflash存储
  • 原文地址:https://www.cnblogs.com/easy5weikai/p/13030557.html
Copyright © 2011-2022 走看看