我想从配置文件中只读取一个连接字符串,并为此添加一个名为“appsettings.json”的文件到我的项目中,并在其上添加以下内容:
{
"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=aspnet-
WebApplica71d622;Trusted_Connection=True;MultipleActiveResultSets=true"
},
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Debug",
"System": "Information",
"Microsoft": "Information"
}
}
}
在ASP.NET上我使用了这个:
var temp=ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
现在我如何在C#中读取“DefaultConnection”并将其存储在.NET Core中的字符串变量中?
5 回答
您可以使用GetConnectionString扩展方法执行此操作:
或者使用DI的结构化类:
启动:
然后在家庭控制器:
在appsettings.json中使用它:
发布的答案很好,但没有直接回答我在连接字符串中读取的相同问题 . 通过大量搜索,我发现了一种稍微简单的方法 .
在Startup.cs中
在控制器中,在构造函数中为配置添加一个字段并为其添加一个参数
现在稍后在您的视图代码中,您可以访问它:
有关详细信息,请参阅链接:https://docs.microsoft.com/en-us/ef/core/miscellaneous/connection-strings
JSON
C# Startup.cs
我发现解决这个问题的方法是在Startup的构建器中使用AddJsonFile(允许它查找存储在appsettings.json文件中的配置),然后使用它来设置private _config变量
然后我可以设置配置字符串如下:
这是在dotnet核心1.1上
您可以使用配置扩展方法:getConnectionString(“DefaultConnection”)
https://docs.asp.net/projects/api/en/latest/autoapi/Microsoft/Extensions/Configuration/ConfigurationExtensions/index.html#Microsoft.Extensions.Configuration.ConfigurationExtensions.GetConnectionString