1. 程式人生 > 其它 >.Net Core中獲取appsettings.json中的節點資料

.Net Core中獲取appsettings.json中的節點資料

獲取ConnectionStrings節點資料

//appsettings.json

{
  "ConnectionStrings": {
    //DEV
    "DbConn": "Server=**;Integrated Security=no;User ID=**;PWD=**;initial catalog=DB**;MultipleActiveResultSets=true;Max Pool Size=1024;Min Pool Size=10;Pooling=true;"
    //QA
    //PROD
  },
  "ErrorPage": "/Error/Error",
  "Environment
": "DEV" }
//startup.cs
public Startup(IConfiguration configuration) //依賴注入 { _configuration = configuration; } public IConfiguration _configuration { get; } // This method gets called by the runtime. Use this method to add services to the container. public
void ConfigureServices(IServiceCollection services) { string _conn; //config db try {
//GetSection("Environment")獲取Environment節點的資料
if (_configuration.GetSection("Environment").Value.Equals("PROD", StringComparison.OrdinalIgnoreCase)) {
var service = new DecryptService("ProjectICE_Portal"); _conn = service.Decrypt(_configuration.GetConnectionString("DbConn"));//加密獲取節點資料 } else { _conn = _configuration.GetConnectionString("DbConn");//非加密 } } catch (Exception ex) { throw new Exception($"Database connection initialization failed: {ex.Message}{ex.StackTrace}"); } }