ASP.NET 通用提供程序可以实现哪些默认 sql 提供程序无法实现的功能?

发布于 2024-11-28 01:02:04 字数 619 浏览 4 评论 0原文

在 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 的自定义 aspnet_regsql 脚本时 http://support.microsoft.com/kb/2006191 然后将我的 web.config 指向 SQL Azure 数据库,ASP.NET 成员资格似乎可以正常工作。

谁能告诉我通用提供程序支持的 SQL Azure 到底有什么功能不能使用?

Inside the readme file of the ASP.NET Universal providers NuGet package is this quote

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.

However, when I run the custom aspnet_regsql scripts for Sql Azure http://support.microsoft.com/kb/2006191 and then point my web.config to the SQL Azure database, ASP.NET membership seems to work correctly.

Can anyone tell me what exactly doesn't work with SQL Azure, that the universal providers enable?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

泪冰清 2024-12-05 01:02:04

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

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

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

The main difference, as far as I can tell, is that when you connect to Sql Azure you need to implement retry logic. The original providers won't retry when a connection error occurs and this will happen from time to time with SQL Azure.

Also, the original providers don't raise exceptions containing the full SQL error codes so if your database is being throttled you won't know which throttling rule is being applied. At least this is what the SQL Azure support team tell me - I'm currently in the process of upgrading for this reason.

A note of caution: the Universal Providers seem to use a different database schema to the original providers, so you will need to migrate membership data. If you are starting a new project it will be much easier to change these providers before you go live with real users!

浊酒尽余欢 2024-12-05 01:02:04

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

the universal providers enable you to use asp.net membership system on sqlazure and also make the implementation sql agnostic. you can take the same app using universal providers and change the datasource to be sql server/sqlexpress/sqlce/localdb etc

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文