.Net Core中獲取appsettings.json中的節點資料
阿新 • • 發佈:2022-05-24
獲取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. publicvoid 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}"); } }