gpt4 book ai didi

c# - ASP.NET 核心 MVC | System.ArgumentNullException : 'Value cannot be null. ' | Configuration. GetConnectionString

转载 作者:行者123 更新时间:2023-12-04 02:29:13 26 4
gpt4 key购买 nike

我在 Asp.NET Core 上使用 MVC,实际上,Startup 没有找到我的 ConnectionString 写入 appsettings.json。我已经尝试过 3 种不同的方式(评论中有 2 种)。不要注意“XXX”。

让我们看看:Startup.cs

public void ConfigureServices(IServiceCollection services)
{
[...]
services.AddDbContext<ApplicationDbContext>(options =>
options.UseOracle(Configuration.GetConnectionString("Web")));
//options.UseOracle(Configuration.GetSection("ConnectionStrings")["Web"]));
//options.UseOracle(Configuration.GetSection("Web")["ConnectionString"]));
[...]
}

appsettings.json:

[...]
"ConnectionStrings": {
"Test1": {
"ConnectionString": "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=XX.XX.X.XXX)(PORT=XXXX))(CONNECT_DATA=(SERVICE_NAME=XXX)));User Id=XXXXX;Password=XXXXX;",
"ProviderName": "Oracle.ManagedDataAccess.Client"
},
"Web": {
"ConnectionString": "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=XX.XX.X.XXX)(PORT=XXXX))(CONNECT_DATA=(SERVICE_NAME=XXX)));User Id=XXXXX;Password=XXXXX;",
"ProviderName": "Oracle.ManagedDataAccess.Client"
},
"Test2": {
"ConnectionString": "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=XX.XX.X.XXX)(PORT=XXXX))(CONNECT_DATA=(SERVICE_NAME=XXX)));User Id=XXXXX;Password=XXXXX;",
"ProviderName": "Oracle.ManagedDataAccess.Client"
}
}
[...]

& 当我构建要在浏览器中运行的项目时,我总是遇到这个错误:

System.ArgumentNullException : '值不能为空。 '

你有什么想法吗?

最佳答案

IServiceCollection.GetConnectionString 方法只是在键中添加前缀ConnectionStrings:

那么Configuration.GetConnectionString("Web")就类似于Configuration["ConnectionStrings:Web"]

在您的情况下,您需要:

Configuration["ConnectionStrings:Web:ConnectionString"]
//or
Configuration.GetConnectionString("Web:ConnectionString")

关于c# - ASP.NET 核心 MVC | System.ArgumentNullException : 'Value cannot be null. ' | Configuration. GetConnectionString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65336601/

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