加入收藏 | 设为首页 | 会员中心 | 我要投稿 莱芜站长网 (https://www.0634zz.com/)- 云连接、建站、智能边缘云、设备管理、大数据!
当前位置: 首页 > 编程开发 > asp.Net > 正文

.NET 中配置从xml转向json方法示例详解

发布时间:2023-02-17 10:03:19 所属栏目:asp.Net 来源:互联网
导读:一、配置概述 在.net framework平台中我们常见的也是最熟悉的就是.config文件作为配置,控制台桌面程序是App.config,Web就是web.config,里面的配置格式为xml格式。 在xml里面有系统生成的配置项,也有我们自己添加的一些配置,最常用的就是appSettings节点

      //IServiceCollection 服务
      ServiceCollection services = new ServiceCollection();
      //注入配置
      services.AddOptions().Configure<Config>(e=>configuration.Bind(e));
      //注入TestOptionDI
      services.AddScoped<TestOptionDI>();
      using (var provider = services.BuildServiceProvider())
      {
          //获取服务
          var testOption = provider.GetRequiredService<TestOptionDI>();
          testOption.Test();
      }
      Console.ReadLine();
  }
 
 
  为了测试IOptionsSnapshot接口在不同作用域会刷新配置,我们修改下main方法,用一个while循环在ReadLine时修改json文件值,不同的Scope里进行打印。
 

  using (var provider = services.BuildServiceProvider())
  {
      while (true)
      {
          using (var scope = provider.CreateScope())
          {
              //获取服务
              var testOption = scope.ServiceProvider.GetRequiredService<TestOptionDI>();
              testOption.Test();
          }
          Console.ReadLine();
      }
  }
 
 
  这个功能在web中使用很方便,因为框架的一次请求就是一个作用域,所以我们修改了配置,下次请求就能生效了,而不用重启服务。
 
 
  五、其它配置
  如最开始所说,不仅能配置json文件,由于各种提供程序,还可以配置其它的,但是根据配置的顺序会进行覆盖。我们只添加一个环境变量配置演示下:
 
  首先添加提供程序包:Install-Package Microsoft.Extensions.Configuration.EnvironmentVariables。
  然后添加环境变量配置代码AddEnvironmentVariables():

  IConfiguration configuration = new ConfigurationBuilder()
                  .AddJsonFile("appsettings.json",optional:true,reloadOnChange:true)
                  .AddEnvironmentVariables()
                  .Build();
  在VS中配置临时环境变量

(编辑:莱芜站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读