版本信息:
.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 中的相同连接正在工作。
我错过了什么?
附图:
谢谢。
我也有同样的问题! 我开始认为 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;"));
完美的! 这就是我一直在寻找的,它现在正在工作。
奥布里加多!
最有用的评论
嘿@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;"));