如何设置新的成员资格和会话提供程序以在Windows Azure中运行?使用MVC3和Web角色

时间:2011-09-18 06:14:30

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

我已经阅读了有关新成员资格和会话提供程序的信息,而this article中的信息只是更改了连接字符串,数据库将在我的SQL Azure数据库中神奇地构建自己。

所以,我首先将我的连接更改为:

<add name="Project" connectionString="Server=tcp:xxxxxxxx.database.windows.net,xxxx;Database=xxxxx;User ID=xxxxxxxxxxx;Password=xxxxxxxxxxx;Trusted_Connection=False;Encrypt=True;" providerName="System.Data.SqlClient" />

当我尝试使用模拟器调试我的应用时,我收到错误:     对于System.Data.SqlClient连接字符串,EFProviders需要MultipleActiveResultSets = True。

我研究了这个错误并意识到它与Entity Framework有关。我试图创建一个Entity Framework连接字符串,但没有成功。另外,我在某处读到SQL Azure不支持MultipleActiveResultSets。

所以,我有两个问题:

  1. 如果我运行应用程序并通过网站界面注册任何用户,那么会在我的SQL Azure数据库中神奇地构建成员资格和会话表,视图和程序吗?
  2. 我错过了什么让我的应用程序运行?
  3. 细节:我没有在Models文件夹中添加任何新项目。它只是AccountModels类,因为它是从MVC3模板生成的。

1 个答案:

答案 0 :(得分:0)

幸运的是,现在我得到了2个答案:

  1. 是的,这是真的,非常容易!
  2. 我第一次尝试将MultipleActiveResultsSet作为connectionString行中的新属性。代码必须是这样的:

    <add name="Project" connectionString="Server=tcp:xxxxxxxx.database.windows.net,xxxx;Database=xxxxx;User     ID=xxxxxxxxxxx;Password=xxxxxxxxxxx;Trusted_Connection=False;Encrypt=True;**MultipleActiveResultSets=True**" providerName="System.Data.SqlClient" />
    
  3. <强>被修改

    现在我发现了使用AppFabric缓存进行会话状态的其他方法。 Just follow this tutorial