gpt4 book ai didi

c# - ConfigurationManager 是否与 ASP.NET Core 的 appsettings.json 一起工作?

转载 作者:行者123 更新时间:2023-11-30 22:58:32 27 4
gpt4 key购买 nike

我有一个 .NET Standard 库,其中包含我所有的 SQL 相关代码。它甚至包含一些创建 SQL 连接的代码。该库需要从应用程序配置文件中读取以获取 SQL 连接字符串。该库使用典型的 ConfigurationManager.ConnectionStrings 方法。

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

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

ConfigurationManager 不能与 appsettings.json 一起使用吗?如果不是,我应该如何处理?

最佳答案

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

1.将以下代码放入appsettings.json

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

2.将以下代码放入startup.cs。

 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.创建 ConnectionStringUtility 类,用于从 Startup.cs 文件获取连接字符串。

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

4.在连接变量中获取连接字符串,并在任何你想要的地方使用这个连接字符串。

public string Connectionstring = ConnectionStringUtility.GetConnectionString();

关于c# - ConfigurationManager 是否与 ASP.NET Core 的 appsettings.json 一起工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52960856/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com