1

我在 WindowsAzure 暂存环境中部署了我的 MVC 应用程序。我使用通用提供商作为会员资格。但我有点困惑。

我的困惑是,当我尝试访问云中的这些帐户时,我在部署后现在在本地机器上创建了一些帐户,我收到错误消息,用户名或密码不正确,但是如果我从本地机器访问这些帐户,则没有错误信息。我没有更改连接字符串。谁能解释一下这个概念或给我一些参考链接?

4

2 回答 2

1

当您询问有关其工作原理的概念时,我可以解释一下。当您在 MVC 应用程序中使用 ASP.NET 通用提供程序时,必须有一个可以配置它的数据库。在大多数情况下,SQLExpress 是 Universal Providers 用来存储成员详细信息的本地数据库。

现在,当您将应用程序作为云服务部署到 Windows Azure 时,没有配置本地数据库,因此您对 Universal Providers 的默认配置将不起作用。解决此问题的最佳方法是将 MVC 应用程序通用提供程序配置为使用 SQL 数据库,即使您在本地进行测试也是如此。一旦完成本地测试并将应用程序部署到 Windows Azure,因为您的应用程序仍指向 SQL 数据库,它将毫无问题地工作(考虑到您已正确配置 SQL 数据库)。

这篇特别的文章展示了 MVC 应用程序中用于连接 SQLExpress 或 SQL 数据库的不同连接字符串,因此您可以使用它来修改您的 SQL DB。

于 2012-08-29T17:23:48.120 回答
0

您需要<machineKey>web.config. 该密钥用于许多与会话和成员资格相关的事情(如 cookie 和密码)。如果您没有明确指定密钥,Windows Azure 会在每次部署时为您选择一个,这将使现有的身份验证 cookie 和存储的密码无效。

于 2012-08-29T18:55:15.607 回答