У нас есть приложение .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 повторных попыток, если по-прежнему происходит сбой, мы должны выброситьисключение.