Hangfire: 在 NET.Core 中使用带有 Active Directory 密码身份验证的 SQLServerStorage 会抛出不支持的关键字

创建于 2021-03-10  ·  3评论  ·  资料来源: HangfireIO/Hangfire

版本信息:
.NET 核心版本 3.1
Hangfire 版本 1.7.19

连接字符串示例(使用 Active Directory 密码身份验证、Azure SQL 数据库):

Data Source=AZURE_DATA_SOURCE;Initial Catalog=DATABASE_NAME;Authentication=Active Directory Password;Persist Security Info=True;User id=USER@COMPANY;Password= * *;

NET Framework 4.8 上的 Hangifre 1.7.6 中的相同连接字符串有效。
.NET Core 3.1 上的 EF Core 3.0.0 中的相同连接正在工作。

我错过了什么?

附图:
10-3-2021 13-13-06

谢谢。

最有用的评论

@fb5000 ,在我的同事的一些搜索和帮助下,Hangfire 用于连接到 SQL Server 实例的库是System.Data.SqlClient ,它不支持使用 AD 进行身份验证。

为此,Hangfire 必须更改他们正在使用的库。 我试图分叉回购并自己解决问题,但是这种事情太难了哈哈哈

这是一个未解决的问题,人们请求支持Microsoft.Data.Client # https://github.com/HangfireIO/Hangfire/issues/1514

作为一种解决方法,您可以使用以下代码执行此操作:
GlobalConfiguration.Configuration
.UseSqlServerStorage(
() => new Microsoft.Data.SqlClient.SqlConnection(@"Server=.\;Database=Hangfire.Sample;Trusted_Connection=True;"));

所有3条评论

我也有同样的问题! 我开始认为 Hangfire 无法使用 Active Directory 身份验证类型连接 Azure Dbs。

@fb5000 ,在我的同事的一些搜索和帮助下,Hangfire 用于连接到 SQL Server 实例的库是System.Data.SqlClient ,它不支持使用 AD 进行身份验证。

为此,Hangfire 必须更改他们正在使用的库。 我试图分叉回购并自己解决问题,但是这种事情太难了哈哈哈

这是一个未解决的问题,人们请求支持Microsoft.Data.Client # https://github.com/HangfireIO/Hangfire/issues/1514

作为一种解决方法,您可以使用以下代码执行此操作:
GlobalConfiguration.Configuration
.UseSqlServerStorage(
() => new Microsoft.Data.SqlClient.SqlConnection(@"Server=.\;Database=Hangfire.Sample;Trusted_Connection=True;"));

完美的! 这就是我一直在寻找的,它现在正在工作。
奥布里加多!

此页面是否有帮助?
0 / 5 - 0 等级