log4net - Log4net ADOAppender 使用 Azure MSI 连接而不是普通连接字符串
问题描述
嗨,我将此发布到 log4net 用户组,但我认为我也会将其发布在这里。
我正在开发一个需要 Azure MSI 从 Azure PaaS 连接到 Azure SQL 的项目。想知道 log4net 的 ADOAppender 是否已经支持这种已经连接的机制。据我所知,它没有,但我想我会在扩展 log4net 之前询问社区。
若要支持 MSI 应用程序无法单独使用连接字符串连接到数据库,它们需要从 Azure 获取访问令牌,然后在 SqlConnection 对象上设置 AccessToken 属性。就像下面的代码正在做的那样:
private static SqlConnection GetSqlConnection()
{
var sqlConnection = new SqlConnection(GetConnectionString());
if (sqlConnection.DataSource != "(localdb)\\MSSQLLocalDB")
sqlConnection.AccessToken = new AzureServiceTokenProvider()
.GetAccessTokenAsync("https://database.windows.net/").Result;
return sqlConnection;
}
此代码使用两个 Microsoft nuget 包来获取访问令牌。
谢谢!
解决方案
推荐阅读
- javascript - 为什么重叠的透明对象在我的 glTF 中经常以错误的顺序呈现?
- ansible - 将某些文件从 Ansible Tower 上传到 Artifactory 时出错
- reactjs - 我收到错误(在邮递员 api 调用上)错误:请求失败,状态码 401
- signal-processing - Scilab - 查找巴特沃斯系数并过滤模拟数据
- micronaut - Micronaut:如何在日志中打印 traceId 和 spanId?
- android - 如何在 Kotlin 中使用 ViewPager2 和选项卡?
- android - 如何从 API 显示数据以颤振多选表单字段
- java - GUI 内的缓冲图像
- react-native - 准备就绪时从导航器/父组件导航
- javascript - Salesforce-JS 路径显示为空