Mamy aplikację .NET, która działa na Windows Azure i używa NHibernate do połączenia z bazą danych SQL Azure. Czasami jest to konieczne, aby dodać logikę ponawiania do obsługi przejściowych niepowodzeń w SQL Azure, jak opisano na przykład tutaj -Jak dodać logikę ponowną w NHibernate, aby poradzić sobie z przejściowymi awariami w SQL Azure?
Czy ktoś może wskazać mi sposób, w ten sposób z NHibernate? Idealnie chciałbym to zrobić na poziomie NHibernate i nie zawijać każdego połączenia; Udało mi się to zrobić dla innego ORM, .netTiers (http://nettiers.com) jako Przedstawię tutaj -
http://blog.ehuna.org/2010/01/how_to_stop_getting_exceptions.html
I nie szukać i znaleźć kilka odpowiedzi, które wspominają stosując niestandardową implementację interfejsu IDbCommand -
Intercept SQL statements containing parameter values generated by NHibernate
Ale nie jestem pewien, czy działa z NHibernate 3.2 i szukam wyraźnego przykładu, który mógłbym zmodyfikować.
W jaki sposób mogę automatycznie inicjować połączenia NHibernate z SQL Azure? Powiedzmy 3 powtórzenia, z których każde powinno trwać 100 ms - po 3 powtórzeniach, jeśli nadal się nie powiedzie, powinniśmy rzucić wyjątek.