Как добавить Retry Logic в NHibernate для обработки временных сбоев в SQL Azure?

У нас есть приложение .NET, которое работает в Windows Azure и использует NHibernate для подключения к базе данных SQL Azure. Иногда необходимо добавить логику повторных попыток для обработки временных сбоев в SQL Azure, как описано, например, здесь -

http://social.technet.microsoft.com/wiki/contents/articles/retry-logic-for-transient-failures-in-sql-azure.aspx

Может кто-нибудь указать мне способ сделать это с NHibernate? В идеале я хотел бы сделать это на уровне NHibernate, а не оборачивать каждый вызов; Я смог сделать это для другого ORM, .netTiers (http://nettiers.com) как я обрисую здесь -

http://blog.ehuna.org/2010/01/how_to_stop_getting_exceptions.html

Я выполнил поиск и нашел несколько ответов, в которых упоминается использование пользовательской реализации интерфейса IDbCommand -

Перехватывать операторы SQL, содержащие значения параметров, сгенерированные NHibernate

Но я не уверен, что это работает с NHibernate 3.2, и я ищу ясный пример, который я мог бы изменить.

Как я могу сделать повторные вызовы NHibernate в SQL Azure автоматически? Допустим, 3 повторных попытки с ожиданием 100 мс между каждым - после 3 повторных попыток, если все еще не получится, мы должны выбросить исключение.

Ответы на вопрос(3)

Ваш ответ на вопрос