【发布时间】:2021-12-29 12:26:32
【问题描述】:
在 .NET Core 3.1 / EF Core 3.1 / OpenIddict 2.1 中开发的基于微服务架构的解决方案,在开发环境中运行良好。
但是在客户端环境(Windows Server 2012 R2,带有服务器强化)中,Identity 微服务无法连接到 SQL Server 2014 数据库服务器,并且从数据库中获取数据的 LINQ 代码不会抛出任何异常.
Startup.cs,数据库连接代码
services.AddDbContext<IdentityDbContext>(options =>
{
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"));
options.UseOpenIddict();
});
使用能够连接到客户端数据库的示例控制台应用程序(在 .NET Core 3.1 / EF Core 3.1 中开发),这是为了验证服务器加固是否会导致 Windows Server 2012 R2/.NET Core 3.1/EF 出现任何问题核心 3.1。
是什么导致身份微服务中的数据库连接问题?任何帮助将不胜感激,谢谢。
【问题讨论】:
-
您收到什么异常?你怎么知道问题(不管是什么)是由数据库连接引起的?
-
无异常,LINQ查询返回null值,所以我猜测是连接数据库的问题。
-
如果数据库连接有问题,你会得到一个异常。哪个查询返回 null?我猜查询根本没有结果,因此返回 null
-
在 Client Staging 环境下,同样的代码工作正常,但是在 UAT 上却无法执行 LINQ Query 并返回 null,所以是否是由 Windows Server 2012 R2 Server Hardening / 的组合引起的。 NET Core 3.1 和 OpenIddict 2.1?
-
难道不是您在一个环境中有一些数据而在另一个环境中不存在吗?这就是为什么我问哪个查询返回 null。
标签: sql-server asp.net-core-3.1 ef-core-3.1