ASP.Net MVC3 Azure - 我是否需要会员提供商存储过程?

时间:2012-04-26 22:01:17

标签: asp.net asp.net-mvc-3 azure membership-provider

我使用Azure作为数据库存储创建我的第一个ASP.Net MVC3应用程序。有许多很棒的教程,但我现在正在使用这个:Walkthrough: Hosting an ASP.NET Web Application on Windows Azure

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

为什么我感到困惑:很多年前,当我使用成员资格提供程序执行ASP.Net 2.0时,我使用aspnet_regsql.exe来运行成员资格提供程序所需的所有脚本。我知道他们有一套更新的scripts for Azure。这些脚本创建了所有表,但也创建了大量的存储过程(例如aspnet_Membership_CreateUser)

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

谢谢!

2 个答案:

答案 0 :(得分:2)

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

以下是一些供参考的链接:

Scott Hanselman - Introducing System.Web.Providers

SQL Azure Team Blog - Using SQL Azure for Session State

答案 1 :(得分:2)

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