C#MVC3 - 新的成员资格提供程序(System.Web.Providers)和旧的成员资格类(System.Web.Security)

时间:2011-09-20 20:11:09

标签: asp.net-mvc-3 asp.net-membership azure-sql-database

当我在本地测试时,我的应用程序运行得非常好,包括成员资格提供程序和数据库。当我尝试在Windows Azure plataform中运行它时,我的噩梦就开始了。

从那时起,我阅读了很多关于在Sql Azure中运行aspnet_regsql的文章,以及新的通用成员资格提供程序。但我无法实现如何使用新的Providers,我对System.Web.Providers和System.Web.Security类和方法感到非常困惑。当我尝试使用新的Providers创建一个新用户时,创建失败并显示Null Exception,即使我已经放置了所有参数并且构建正常。

我的项目已经完全准备就绪,我只需将其上传到主机。

我怎样才能让它轻松在Windows Azure中运行?或者我应该学习如何使用新的通用提供商并将我的所有项目调整到那个?

1 个答案:

答案 0 :(得分:0)

似乎需要System.Web.Providers在Azure上运行您的应用程序,至少不需要任何繁重的代码。 Scott Hanselman在他最近的博客文章中概述了安装和使用System.Web.Providers的基础知识:Introducing System.Web.Providers - ASP.NET Universal Providers for Session, Membership, Roles and User Profile on SQL Compact and SQL Azure

另一个可能有用的资源是Wade Wegner的帖子Deploying the Windows Azure ASP.NET MVC 3 Web Role

简而言之,在使用NuGet在项目中安装System.Web.Providers之后,它将重新配置web.config以包含两个连接字符串,一个用于ApplicationServices,另一个用于DefaultConnection。您需要使用Azure连接字符串更新这些内容,但请确保附加“MultipleActiveResultSets = True;”两个连接字符串。