小编Nor*_*n78的帖子

无法从 Docker (Linux) 中运行的 ASP.NET Core 连接到 SQL Server 命名实例

我有一个应用程序应该使用命名实例连接到在远程服务器上运行的 SQL Server。

使用 IISExpress,我可以连接到 SQL Server,但从 Docker(Linux 容器)连接失败 - 访问上下文时它只是挂起 - 没有抛出异常或错误消息。例如

var context = serviceScope.ServiceProvider.GetService<AppContext>();
context.Users.ToList();
Run Code Online (Sandbox Code Playgroud)

在调试器中它永远不会到达异常处理程序。

相反,我看到很多这样的输出:

The thread 125 has exited with code 0 (0x0).
The thread 164 has exited with code 0 (0x0).
The thread 0xa4 has exited with code 0 (0x0).
Run Code Online (Sandbox Code Playgroud)

使用node.js,我什至可以从docker连接到SQL Server,没有问题。

当我使用例如 [ipaddress 或 host.docker.internal],1433 时,我可以从 Docker 中的 ASP.NET Core 连接到与 Docker 运行在同一台计算机上的 SQL Server Developer 版本 - 不幸的是,在远程 SQL Server 上,我无法配置固定端口。

  • 使用 IISExpress 工作(因此在 Windows 上运行)
  • 当使用固定端口而不是命名实例连接到在开发计算机上运行的 SQL Server 时有效(但我无法更改我们的生产服务器)
  • 使用 …

c# sql-server docker asp.net-core

5
推荐指数
1
解决办法
3972
查看次数

标签 统计

asp.net-core ×1

c# ×1

docker ×1

sql-server ×1