Como adicionar lógica de repetição no NHibernate para lidar com falhas transitórias no SQL Azur

Temos um aplicativo .NET que roda no Windows Azure e usa o NHibernate para conectar-se a um banco de dados do SQL Azure. Às vezes, é necessário adicionar lógica de repetição para lidar com falhas transitórias no SQL Azure, conforme descrito, por exemplo, aqui -

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

Alguém pode me indicar uma maneira de fazer isso com o NHibernate? Idealmente, eu gostaria de fazer isso no nível do NHibernate e não encerrar todas as chamadas; Consegui fazer isso para outro ORM, .netTiers http: //nettiers.co) como descrevi aqui -

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

Fiz uma pesquisa e encontrei algumas respostas que mencionam o uso de uma implementação personalizada da interface IDbCommand -

nstruções SQLIntercept contendo valores de parâmetros gerados pelo NHibernate

Mas não tenho certeza se isso funciona com o NHibernate 3.2 e estou procurando um exemplo claro que eu possa modifica

Como eu poderia fazer o NHibernate tentar novamente chamadas para o SQL Azure automaticamente? Digamos 3 tentativas, com espera de 100ms entre cada uma - após as 3 tentativas, se ainda falhar, devemos lançar a exceçã