2020-08-19

.Net Core 访问 appsettings.json

1、添加 NuGet 包

  Microsoft.Extensions.Configuration

2、通过注入获取 Configuration

  注意:注入获取的必须提前在 StartUp 里面提前注册

 public class Startup {  public IConfiguration Configuration { get; }  public StartupAutofacIdp(IConfiguration configuration, IHostingEnvironment env)  {   Configuration = configuration;  }  public void ConfigureServices(IServiceCollection services)  {   //TestConfig 对应json文件 的节点   services.Configure<TestConfig>(Configuration.GetSection("ConnectionStrings"));  } } public class TestConfig {  public string Default { get; set; }  public string Line { get; set; } }appsetting.json{ "ConnectionStrings": { "Default": "Data Source=.; Initial Catalog=xiaoer; User Id=sa; Password=123456;", "Line": "Data Source=.; Initial Catalog=xiaoer; User Id=sa; Password=1234567890;" }, "Logging": { "LogLevel": {  "Default": "Warning" } }, "AllowedHosts": "*"}

 public class HomeController : Controller {  private TestConfig testConfig;  public IConfiguration Configuration;  public HomeController(IOptions<TestConfig> options, IConfiguration configuration)  {   testConfig = options.Value;   Configuration = configuration;  }  public IActionResult Index()  {   /*    * 2种方式    * 1、通过 StartUp 提前注册实体类访问    * 2、使用 Configuration 实例访问    */   TestConfig test = new TestConfig();   Configuration.GetSection("ConnectionStrings").Bind(test);   ViewBag.Test = test;   return View(testConfig);  }  }

3、通过加载对应的文件绑定 Configuration 实例

 public class Config {  /// <summary>  /// appsettings.json 文件 也可以是任何自定义的 json 文件  /// </summary>  private static IConfiguration Configuration;   static Config()  {   if (Configuration == null)   {    var builder = new ConfigurationBuilder();    builder.SetBasePath(Directory.GetCurrentDirectory());    builder.AddJsonFile("appsettings.json", false, true);    Configuration = builder.Build();   }   } } 

  

.Net Core 访问 appsettings.json麦言ask me跨境通电子商务KoinWorks姐夫贝索斯又一次上热搜,竟因向澳洲捐款太少?亚马逊12月3日前停止收货?可能吗?第一次泡温泉需要带什么装备吗?户外运动该如何保护好相机?飞机票多大小孩需要买?

No comments:

Post a Comment