Log4net ADOAppender использует подключение Azure MSI вместо простой строки подключения - PullRequest
0 голосов
/ 20 мая 2019

Здравствуйте, я опубликовал это в группе пользователей log4net, но подумал, что я тоже опубликую его здесь.

Я работаю над проектом, для которого требуется Azure MSI для подключения от Azure PaaS к Azure SQL.Интересно, ADOAppender log4net уже поддерживает этот уже подключенный механизм.Судя по тому, что я могу сказать, это не так, но я решил спросить сообщество перед расширением log4net.

Для поддержки приложений MSI не может подключиться к базе данных только с помощью строки подключения, им нужно получить токен доступаиз Azure, а затем установите свойство AccessToken для объекта SqlConnection.Как делает код ниже:

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 для получения токена доступа.

Спасибо!

...