Log4net ADOAppender使用Azure MSI连接而不是纯连接字符串

时间:2019-05-20 14:54:32

标签: log4net log4net-appender 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包来获取访问令牌。

谢谢!

0 个答案:

没有答案