0

我正在使用 .NET Core 6 Web API。但我似乎无法弄清楚连接字符串现在是如何工作的。

这里被注释掉的第一部分工作正常。但我需要能够将程序扔到不同的系统上,并用appsettings.json.

第二部分是我尝试过的,但这不起作用。

.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;"
  },

我想补充一点,它不会引发错误。它似乎没有找到联系。

4

1 回答 1

1

问题是如何从服务启动 Web API。您在使用Process时未设置ProcessStartInfo.WorkingDirectory包含 exe 和配置的文件夹,并且已启动的进程与父进程共享工作目录,因此请移至appsettings.json父项目文件夹或设置WorkingDirectory以匹配包含 exe 的目录:

toDoTest.StartInfo.UseShellExecute = false;
toDoTest.StartInfo.WorkingDirectory = "C:\\Develop\\ToDoMVCtutorial\\bin\\Release\\net6.0\\publish\\";

您也可以尝试重定向您的 Web API 输出以捕获日志。

于 2022-01-08T18:05:38.733 回答