gpt4 book ai didi

json - 值不能为空。启动器中的参数名称 : connectionString appsettings. json

转载 作者:行者123 更新时间:2023-12-03 13:47:43 25 4
gpt4 key购买 nike

我试图在我的 appsettings.json 文件中写入我的连接字符串并将其放入我的启动文件中,但我不断收到一个值不能为空。
参数名称:连接字符串。我一直在使用各种示例,但似乎无法通过 ASP.NET 1.0 Core 启动类看到这个新设置。

Appsetting.json 文件:

{
"Data": {
"DefaultConnection": {
"ConnectionString": "Data Source=server;Initial Catalog=dbase;Trusted_Connection=True;MultipleActiveResultSets=true"

},
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Debug",
"System": "Information",
"Microsoft": "Information"
}
}
}
}

方法尝试
启动文件
public Startup(IHostingEnvironment env)
{
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
.AddEnvironmentVariables();
Configuration = builder.Build();
}

public void ConfigureServices(IServiceCollection services)
{
var connStr = Configuration.GetConnectionString("DefaultConnection");
System.Console.WriteLine(connStr);
services.AddDbContext<DbContext>(options => options.UseSqlServer(connStr)); //error right here -- Null value
}

最佳答案

首先,该

 "Data": {
"ConnectionStrings": {
"DefaultConnection": "Data Source=server;Initial Catalog=dbase;Trusted_Connection=True;MultipleActiveResultSets=true"},
}

与在 Visual Studio 中添加“Asp.NET 配置文件”时获得的结构略有不同。当你这样做时,你会得到
"ConnectionStrings": {
"DefaultConnection": "Data Source=server;Initial Catalog=dbase;Trusted_Connection=True;MultipleActiveResultSets=true"},

没有“数据”JavaScript 对象。所以这就是扩展方法不起作用的原因。它期望这种结构。无论如何,您都可以使用此结构(带有“数据”的结构)并像这样获取连接字符串:
var connectionString = Configuration["Data:ConnectionStrings:DefaultConnection"];

请注意,您正在使用 : 在 JavaScript 对象树中导航。而不是 . .这是由于使用 . 时存在一些跨平台问题。 .

如果您编辑“数据”:{},您可以这样做:
var connectionString = Configuration["ConnectionStrings:DefaultConnection"];

现在扩展方法将起作用。在 Microsoft 扩展之下,它与上面的代码相同。
var config2 = Configuration.GetConnectionString("DefaultConnection");

关于json - 值不能为空。启动器中的参数名称 : connectionString appsettings. json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40874640/

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