Использование повторной попытки Polly с dapperC#

Место общения программистов C#
Ответить
Anonymous
 Использование повторной попытки Polly с dapper

Сообщение Anonymous »

Я работаю над старым проектом ASP.NET MVC. Мы используем Dapper для обработки SQL-запросов.
Обработка SqlConnection в настоящее время осуществляется путем открытия соединения в первый раз, когда оно необходимо, с помощью специального цикла повтора, а затем сохранения открытого соединения в HttpContext для оставшейся части запроса, после чего соединение удаляется.
Я считаю, что способ предотвратить проблемы с истощением пула соединений - сохранить соединение закрыто, а затем позволить Dapper открывать и закрывать его по мере необходимости.
Я думал, что было бы предпочтительнее сохранить политику повторных попыток, чтобы сделать систему более надежной.
Для этого я реализовал оболочку, расширяющую DbConnection, которая принимает SqlConnection в конструкторе.
Моя политика повторных попыток выглядит следующим образом:

Код: Выделить всё

private readonly AsyncRetryPolicy _asyncRetryPolicy = Policy.Handle().Or().WaitAndRetryAsync(3, i => TimeSpan.FromSeconds(1 * i));
Мой главный вопрос: правильный ли это способ справиться с этим?
Мой второй вопрос: как эта политика повторных попыток ведет себя с частью «Connection Timeout=30» моей строки подключения?

Подробнее здесь: https://stackoverflow.com/questions/798 ... ith-dapper
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»