2

在 ASP.NET 通用提供程序NuGet 包的自述文件中是这个引用

ASP.NET 版本 4 中附带的 SqlMembershipProvider、SqlRoleProvider、SqlProfileProvider 类仅支持 Microsoft SQL Server 和 Microsoft SQL Server Express。它们不支持更新的产品,例如 Microsoft SQL Azure 和 Microsoft SQL Server Compact。

但是,当我为 Sql Azure http://support.microsoft.com/kb/2006191运行自定义 aspnet_regsql 脚本 ,然后将我的 web.config 指向 SQL Azure 数据库时,ASP.NET 成员资格似乎可以正常工作。

谁能告诉我通用提供程序启用的 SQL Azure 到底有什么不适用的?

4

2 回答 2

3

据我所知,主要区别在于,当您连接到 Sql Azure 时,您需要实现重试逻辑。发生连接错误时,原始提供程序不会重试,SQL Azure 会不时发生这种情况。

此外,原始提供程序不会引发包含完整 SQL 错误代码的异常,因此如果您的数据库受到限制,您将不知道正在应用哪个限制规则。至少这是 SQL Azure 支持团队告诉我的 - 由于这个原因,我目前正在升级。

注意事项:通用提供者似乎使用与原始提供者不同的数据库模式,因此您需要迁移成员数据。如果您正在开始一个新项目,那么在与真实用户一起上线之前更改这些提供者会容易得多!

于 2012-05-17T15:30:45.680 回答
0

通用提供程序使您能够在 sqlazure 上使用 asp.net 会员系统,并使实现 sql 不可知。您可以使用通用提供程序获取相同的应用程序并将数据源更改为 sql server/sqlexpress/sqlce/localdb 等

于 2012-08-20T19:06:52.403 回答