我有一个.NET Standard库,其中包含我所有与SQL有关的代码。它甚至包含创建SQL连接的一些代码。该库需要从应用程序配置文件中读取,以便获取SQL连接字符串。该库正在使用典型的ConfigurationManager.ConnectionStrings
方法。
现在,我在.NET Core ASP.NET Web Api 2应用程序中使用此库。我在此应用程序的appsettings.json
文件中定义了连接字符串。连接字符串位于ConnectionStrings
字段中,其给定名称与我的DLL从上面查找的名称匹配。
这似乎不起作用。从顶部开始,我的DLL从配置文件中找不到连接字符串。
ConfigurationManager
是否不能与appsettings.json
一起使用?如果没有,我应该如何处理?
答案 0 :(得分:1)
ConfigurationManager不能与appsettings.json一起使用,而不是ConfigurationManager,您必须使用ConfigurationBuilder类在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();
.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。在连接变量中获取Connectionstring并在需要的地方使用此连接字符串。
public string Connectionstring = ConnectionStringUtility.GetConnectionString();