【发布时间】:2022-01-08 11:30:43
【问题描述】:
我正在使用 .NET Core 6 Web API。但我现在似乎无法弄清楚连接字符串是如何工作的。
这里被注释掉的第一部分工作正常。但我需要能够将程序扔到不同的系统上并用appsettings.json更改连接字符串。
第二部分是我尝试过的,但是没有用。
Config connection string in .net core 6 是我从那里得到它的。
//builder.Services.AddDbContext<TodoContext>(opt =>
// opt.UseSqlServer(@"Data Source=JOHANDRE\\SQL2017; Database=ToDoItems; User=xxx; Password=xxx;"));
builder.Services.AddDbContext<TodoContext>(opt =>
opt.UseSqlServer(builder.Configuration.GetConnectionString("ToDoItemsDatabase")));
我的appsettings.json:
"ConnectionStrings": {
"ToDoItemsDatabase": "Server=JOHANDRE\\SQL2017; Database=ToDoItems; User=xxx; Password=xxx;"
},
我想补充一点,它不会引发错误。它似乎没有找到连接。
【问题讨论】:
-
您确实意识到连接字符串不同吧?
Data Source=JOHANDRE\\SQL2017;与Server=JOHANDRE\\SQL2017; -
是的,我尝试了两种方法,服务器和数据源都不能在 appsettings 中工作,但我可以直接在 Program.cs 中使用。一定只是错过了将其更改回相同的问题
-
好的任何错误/日志消息?像这样可以是任何东西
-
@GuruStron 运行服务时,可以将调试器附加到它。这样做我可以看到服务运行良好,但 connString 设置为“null”,我也在另一个项目上对其进行了测试,一旦它作为服务运行,我的 dbCon 和 ApiKey 设置为 null。希望我能正确分享这个。 github.com/Johandre296/WinServiceTest.git 是 admin cmd 中的这个 WinService 存储库,你可以说 "sc create "serviceName" binPath="where ever you put\theExe" 然后在服务下启动它。github.com/Johandre296/ToDoItems.git 测试项目。
-
@Jorra 请尝试新的。
标签: sql asp.net-core connection-string asp.net-core-6.0