4

我正在使用 Azure 作为数据库存储创建我的第一个 ASP.Net MVC3 应用程序。有许多很棒的教程,但我目前正在使用这个: 演练:在 Windows Azure 上托管 ASP.NET Web 应用程序

我已将连接字符串连接到 Azure,并且工作正常。我在调试模式下运行应用程序并通过成员资格提供程序“注册”我的第一个用户。根据演练,“创建帐户会导致 ASP.NET 创建成员数据库。” 成功!我现在看到表(用户、角色、...)已在我的 Azure 数据库中创建。伟大的!

为什么我很困惑:很多年前,当我使用 Membership Provider 进行 ASP.Net 2.0 时,我使用 aspnet_regsql.exe 来运行 Membership Provider 所需的所有脚本。我知道他们有一套更新的Azure 脚本。这些脚本会创建所有表,但也会创建大量存储过程(例如 aspnet_Membership_CreateUser)

我的问题:我是否需要运行这些更新的 Azure 脚本来获取 SP?我没有看到在我的数据库中创建了任何存储过程,但没有它们,所有成员资格提供程序功能似乎都可以正常工作。所有这些存储过程是用来做什么的?我的 MVC3 Azure 应用程序中是否需要它们?

谢谢!

4

2 回答 2

2

您实际上应该使用ASP.NET Universal Providers For SqlExpress 1.1。这是官方支持的跨 SQL Azure 和独立 SQL Server 启用 SQL 成员资格、角色和会话提供程序的方法。Universal Providers 应该会自动为您创建必要的 SQL 对象,因此您不必手动运行任何脚本。

这里有几个链接供参考:

Scott Hanselman - 介绍 System.Web.Providers

SQL Azure 团队博客 - 使用 SQL Azure 处理会话状态

于 2012-04-27T00:07:43.363 回答
2

由于您正在学习该教程,因此您已经在使用 ASP.NET 通用提供程序。本教程中的一个步骤将通用提供程序添加为 NuGet 包。有关 NuGet 的更多信息,您可以参考http://nuget.codeplex.com/。Nuget 包本质上是一些预先编写的代码,可简化您的开发。例如,通用提供商会根据您的连接字符串自动创建成员数据库表。您当然可以继续手动创建数据库表,然后使用内置的 ASP.NET 成员资格提供程序。

于 2012-04-27T07:31:36.827 回答