代码之家  ›  专栏  ›  技术社区  ›  Ryan

ConfigurationManager是否与ASP.NET core的appsettings.json一起工作?

  •  0
  • Ryan  · 技术社区  · 7 年前

    ConfigurationManager.ConnectionStrings 接近。

    现在,我在.NET核心ASP.NET Web Api 2应用程序中使用这个库。我已经在这个应用程序的 appsettings.json 文件。连接字符串位于 ConnectionStrings 字段的给定名称与上面我的DLL查找的名称匹配。

    这似乎不起作用。我的DLL,从顶部部分,没有从配置文件中找到连接字符串。

    ConfigurationManager 不适用于 appsettings.json文件 ? 如果没有,我应该如何处理这个问题?

    1 回复  |  直到 7 年前
        1
  •  3
  •   Myonaiz mpruchni    7 年前

    ConfigurationManager不适用于appsettings.json,您必须使用ConfigurationBuilder类在startup.cs文件中添加json文件,而不是ConfigurationManager。

    1.将下面的代码放入appsettings.json中

    "ConnectionStrings": {
     "connectionstring ": "Data Source=Demo_server\\SQLEXPRESS01;Initial Catalog=Demo_DB;Persist Security Info=True; User ID=sa;Password=Password@123" }
    

     public Startup(IHostingEnvironment env)
        {
             Configuration = new ConfigurationBuilder().AddJsonFile("appSettings.json").Build();             
        }
    
     public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {            
           ConnectionString = Configuration["ConnectionStrings:connectionstring"]; // Get Connection String from Appsetting.json
        }
    

    3.为从Startup.cs文件获取连接字符串创建ConnectionStringUtility类。

    public class ConnectionStringUtility
    { 
      public static string GetConnectionString()
      { 
        return Startup.ConnectionString; 
      } 
    }
    

    4.在连接变量中获取Connectionstring,并在任何需要的地方使用此连接字符串。

    public string Connectionstring = ConnectionStringUtility.GetConnectionString();
    
    推荐文章