我们有一个基于Azure SQL数据库的ASP.net sqlMembershipProvider用户数据。显然,开箱即用的sqlMembershipProvider4.0并没有所需的重试逻辑,可以通过限流或到期导致连接中断。
我们可以实现自己的成员提供程序,具有此功能,但必须与标准的sqlMembershipProvider 4.0完全相同。为了使用我们数据库中的现有用户,但是这需要查看原始sqlMembershipProvider 4.0的源代码,自从2.0版本以来,该代码就没有公开发布过,因此我的问题是:
如何以最小的努力获得sqlMembershipProvider的重试逻辑?或者是否应该反射System.web.security.sqlMembershipProvider中的sqlMembershipProvider 4.0代码,并创建一个自定义membershipProvider,它具有与sqlMembershipProvider相同的功能,但使用Microsoft的TransientFaultHandling ReliableSqlConnection等重试逻辑?做这样的事情是否合法(反射和创建类似但具有附加功能的代码),考虑到Microsoft针对asp.net库(例如System.Web)的许可证?
我们可以实现自己的成员提供程序,具有此功能,但必须与标准的sqlMembershipProvider 4.0完全相同。为了使用我们数据库中的现有用户,但是这需要查看原始sqlMembershipProvider 4.0的源代码,自从2.0版本以来,该代码就没有公开发布过,因此我的问题是:
如何以最小的努力获得sqlMembershipProvider的重试逻辑?或者是否应该反射System.web.security.sqlMembershipProvider中的sqlMembershipProvider 4.0代码,并创建一个自定义membershipProvider,它具有与sqlMembershipProvider相同的功能,但使用Microsoft的TransientFaultHandling ReliableSqlConnection等重试逻辑?做这样的事情是否合法(反射和创建类似但具有附加功能的代码),考虑到Microsoft针对asp.net库(例如System.Web)的许可证?