【问题标题】:ASP.Net MVC3 Azure - Do I Need Membership Provider Stored Procedures?ASP.Net MVC3 Azure - 我需要会员提供程序存储过程吗?
【发布时间】:2012-04-26 22:01:16
【问题描述】:

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

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

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

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

谢谢!

【问题讨论】:

  • 如果您查看成员资格提供程序设置,并且您使用的是 sql 提供程序,它具有属性 connectionname。这指向正在使用的连接字符串。
  • @Mike Smith 我误读了你的问题。 Arwind - MSFT 有正确的答案。

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


【解决方案1】:

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

【讨论】:

  • 所以没有更多的存储过程了?一切正常 - 我只是觉得它没有在数据库中创建任何存储过程很奇怪。
【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-02
    • 1970-01-01
    • 1970-01-01
    • 2011-11-27
    相关资源
    最近更新 更多