Как добавить логику повторения в поставщик членства ASP.NET для SQL Azure?

У нас есть база данных пользователей ASP.net sqlMembershipProvider в базе данных SQL Azure. Стало очевидным, что в готовом виде sqlMembershipProvider 4.0 отсутствует необходимая логика повторов для соединений SQL Azure, которые могут выпадать из-за регулирования или могут истечь.

Можно реализовать нашего собственного провайдера членства, который имеет эту функциональность, но это должно быть точно такое же взаимодействие с базой данных, что и у стандартного sqlMembershipProvider 4.0, чтобы работать с существующими пользователями в нашей базе данных. Однако для этого потребовалось бы изучить исходный текст sqlMembershipProvider 4.0, этот код не был выпущен в открытую с версии 2.0, поэтому мой вопрос:

Какой самый простой способ получить логику повторных попыток в sqlMembershipProvider? И может ли это отразить код sqlMembershipProvider 4.0 в System.web.security.sqlMembershipProvider и создать собственный членство в MembershipProvider, которое имеет ту же функциональность, что и sqlMembershipProvider, но использует логику повторения, такую как у Microsofts TransientFaultHandling ReliableSqlConnection? Было бы законно делать такую вещь (отражая и создавая подобный код, но с дополнительными функциями), учитывая лицензию Microsoft на библиотеки asp.net, например. System.Web?

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

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