• .Net core6如何获取appsettings.json配置节的值
  • 发布于 2个月前
  • 743 热度
    1 评论

我们以前用.NET3.5中的数据库连接字符串的配置信息都是放在web.config中的,要获取配置节的信息直接用ConfigurationManager的ConnectionStrings就可以获取,类似如下

System.Configuration.ConfigurationManager.ConnectionStrings["SQLServerConn"].ConnectionString

web.config的配置类似如下:


	<connectionStrings>
		<add name="SQLServerConn" connectionString="Data Source=10.59.16.26;Initial Catalog=Com.ACC.WorkflowApps;Persist Security Info=True;User ID=sa;Password=XXXX"/>
	</connectionStrings>
现在.net core6中的配置信息都是写在appsettings.json文件中的,类似如下:

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "AllowedHosts": "*",
  // 添加Authentication节点
  "Authentication": {
    "Issure": "Bitbits.Inc",
    "Audience": "LolipopClient",
    "SecurityKey": "4C6A8A8B-1B9F-12E7-60C4-123BC0BB5D25"
  },
  "ConnectionStrings": {
    "SQLConn": "Data Source=10.59.16.26;Initial Catalog=Com.ACC.WorkflowApps;Persist Security Info=True;User ID=sa;Password=XXXX"
  }
}

我现在要获取appsettings.json文件中的SQLConn配置节的值要怎么获取?


用户评论
  • 煮酒慰风尘
  • 1.如果你要在Program.cs文件中使用,可以直接用builder对象的Configuration属性获取,类似如下:

     IConfigurationSection confSection = builder.Configuration.GetSection("ConnectionStrings");
    String conn = confSection["SQLConn"],
    2.如果要在具体的控制器中使用,可以直接在控制器中的构造方法中注入configuration依赖,然后就可以用GetSection方法去获取配置节点的值了

        [ApiController]
        [Route("api/[controller]")]
        public class AuthController : Controller
        {
            private IConfiguration _configuration { get; set; }
            /// <summary>
            /// 注入configuration依赖,方便获取配置节信息
            /// </summary>
            /// <param name="config"></param>
            public AuthController(IConfiguration config)
            {
                _configuration = config;
            }
             [HttpGet("login")]
            public ActionResult Login(string username, string password)
            {
                string test = _configuration.GetSection("ConnectionStrings")["SQLConn"]; //现在就可以用getSection方法获取了
           }
       }


  • 2022/10/21 18:40:00 [ 0 ] [ 0 ] 回复