在 ASP.NET 通用提供程序的自述文件中 NuGet package这是引用吗
The SqlMembershipProvider, SqlRoleProvider, SqlProfileProvider classes that shipped in ASP.NET through version 4 support only Microsoft SQL Server and Microsoft SQL Server Express. They do not support newer offerings such as Microsoft SQL Azure and Microsoft SQL Server Compact.
但是,当我运行 Sql Azure 的自定义 aspnet_regsql 脚本时 http://support.microsoft.com/kb/2006191然后将我的 web.config 指向 SQL Azure 数据库,ASP.NET 成员资格似乎可以正常工作。
谁能告诉我通用提供程序支持的 SQL Azure 到底有什么功能不能使用?
最佳答案
据我所知,主要区别在于,当您连接到 Sql Azure 时,您需要实现 retry logic 。当发生连接错误时,原始提供程序不会重试,而 SQL Azure 时常会发生这种情况。
此外,原始提供程序不会引发包含完整 SQL 错误代码的异常,因此如果您的数据库受到限制,您将不知道正在应用哪个限制规则。至少 SQL Azure 支持团队是这么告诉我的 - 由于这个原因,我目前正在升级。
注意事项:通用提供商似乎使用与原始提供商不同的数据库架构,因此您需要迁移成员数据。如果您正在开始一个新项目,那么在与真实用户一起使用之前更改这些提供商会容易得多!
关于asp.net-membership - ASP.NET 通用提供程序可以实现哪些默认 sql 提供程序无法实现的功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6940732/