我在Asp.NET核心上使用MVC &实际上,启动并没有找到我的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 :'Value不能为空。'
你知不知道?
发布于 2020-12-17 08:00:16
方法IServiceCollection.GetConnectionString只是在键中添加前缀ConnectionStrings:。
那么Configuration.GetConnectionString("Web")与Configuration["ConnectionStrings:Web"]相似。
就你而言,你需要:
Configuration["ConnectionStrings:Web:ConnectionString"]
//or
Configuration.GetConnectionString("Web:ConnectionString")https://stackoverflow.com/questions/65336601
复制相似问题