我在WindowsAzure登台环境中部署了我的MVC应用程序。我使用通用提供商来加入会员。但我有点困惑。
我的困惑是我在部署后在我的本地计算机上创建了一些帐户,当我尝试访问云中的帐户时,我收到错误消息的用户名或密码不正确但是如果我从本地计算机访问这些帐户,那么没有错误消息。我没有改变连接字符串。任何人都可以向我解释这个概念或给我一些参考链接吗?
答案 0 :(得分:1)
当你询问它是如何工作的概念时,我可以解释它。当您在MVC应用程序中使用ASP.NET Universal Providers时,必须有一个可以配置它的数据库。在大多数情况下,SQLExpress是Universal Providers用于存储成员资格详细信息的本地数据库。
现在,当您将应用程序部署到Windows Azure作为Cloud Service时,没有配置本地数据库,因此您对Universal Providers的默认配置将不起作用。解决此问题的最佳方法是将MVC应用程序通用提供程序配置为使用SQL数据库,即使在本地进行测试也是如此。完成本地测试并将应用程序部署到Windows Azure后,因为您的应用程序仍指向SQL数据库,所以它可以正常运行(考虑到您已正确配置SQL数据库)。
这个特殊的article显示了MVC应用程序中用于连接SQLExpress或SQL数据库的不同连接字符串,因此您可以使用它来修改SQL数据库。
答案 1 :(得分:0)
您需要在<machineKey>
中设置明确的web.config
。该密钥用于与会话和成员身份相关的许多事情(如cookie和密码)。如果您未明确指定密钥,则Windows Azure会在每个部署中为您选择一个密钥,这将使现有的身份验证cookie和存储的密码无效。