.net Core中如何读取Appsetting配置文件


 

现在APPSetting下面配置以下节点

{
  "Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Warning"
    }
  },
  "ConnectionStrings": {
    "Conn": "Host=10.10.1.15;Port=5432;Database=postgres;User ID=pgadmin;Password=nVNwFeaWMK8Sh6jW;"
  },
   "Setting": {
    "Conn": "sqlLink",
    "Conn2": "sqlLink2",
    "Link": "LinkUrl"
  }
}

比如说我要取ConnectionStrings 

我们需要在startup里通过 IConfiguration Configuration这个属性来取

写法如下

 var sqlConn = Configuration.GetConnectionString("Conn");
 var sqlConn2 = Configuration["ConnectionStrings:Conn"];

返回结果如下

现在我们可以看到都成功读取到了配置文件中 Conn的内容

当然我们实际情况中肯定不止要取一个属性对吧所以下面介绍的取对象的方法

首先在啊 ConfigureServices方法里面注入

public void ConfigureServices(IServiceCollection services)
{
  services
    .Configure<Setting>(Configuration.GetSection("Setting"))
    .AddMvc();
}

同时项目建立一个和AppSetting里相同键值的类 Setting

public class Setting
{
  /// <summary>
  /// 数据库连接字符串
  /// </summary>
  public string Conn { get; set; }
 
  public string Conn2 { get; set; }
 
  public string Link { get; set; }
}

然后建立一个BaseController 以后所有需要用到的地方都继承BaseController

public class BaseController : Controller
{
  private Setting Config;

  public BaseController( IOptions<Setting> setting)
  {
    Config = setting.Value;
  }
}

我们此时来运行一下看下代码结果

此时我们可以看到已经取值成功,以后哪里需要用到的就可以通过Config.属性的方法去取

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM