Как войти в Entity Framework Core UseSqlServer Retries - PullRequest
0 голосов
/ 26 февраля 2019

Я настроил политики повторных попыток в DbContextOptionsBuilder.UseSqlServer с использованием Entity Framework Core 2.1.

Вот пример кода:

DbContextOptionsBuilder<T> builder = new DbContextOptionsBuilder<T>();
builder.UseSqlServer(ConnectionString, sqloptions => {
                sqloptions.EnableRetryOnFailure(
                    maxRetryCount: 5,
                    maxRetryDelay: TimeSpan.FromSeconds(30),
                    errorNumbersToAdd: new List<int>(){});
            });

Приведенный выше код работает, но я не знаю, какдобавьте ведение журнала во время процесса повторных попыток.

Я проверил связанный вопрос здесь: база данных Azure SQL , но этот вопрос связан с каркасом сущностей 6 и SQL Azure.

Можеткто-нибудь подскажет, как добавить логирование в политику повторов?Например, во время процесса повторных попыток будет напечатан журнал, в котором говорится, что, например, повторные попытки № 1 из № 5 ожидаются?

Спасибо.

1 Ответ

0 голосов
/ 26 февраля 2019

Вы можете добавить запись в ваш DbContext в методе OnConfiguring.Метод UseLoggerFactory принимает LoggerFactory, это ядро ​​asp.net, loggerFactory.

Это должно записывать повторы в ваш журнал.

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
    base.OnConfiguring(optionsBuilder);
    optionsBuilder.UseLoggerFactory(LoggerFactory);
}

Подробную информацию можно найти здесь.

Надеюсь, это поможет.

...