我对 Windows Azure 非常陌生,并且正在对其进行修改以了解它是如何工作的。为了使事情尽可能简单,我正在尝试部署由 VS 2012 Express for web 生成的默认 MVC 4 模板。我创建了一个新项目 - Azure 云服务。我选择了一个 MVC 4 Web 角色。这样就创建了一个漂亮的小 asp.net 应用程序,其中包含主页、关于和联系页面,以及用于注册和登录的链接。我只想将此站点部署到 Azure 并查看它在云上的工作。
但是,成员资格似乎不适用于 azure。应用程序的页面显示正确。但是,当我单击“注册”链接时,它不会将我带到输入新用户名和密码的页面。我也不相信在任何地方都会生成成员资格表。
考虑到这有多简单,我想我一定在某个地方犯了一个愚蠢的错误。如果有人可以帮助我,我将不胜感激。
另外,作为记录,我注意到如果我在 VS2012 Express 中创建一个独立的 MVC 4 项目(而不是具有 mvc 4 Web 角色的 Windows Azure 云服务项目),那么当我右键单击该 MVC4 项目并选择发布它,它允许我使用连接字符串指定一个 sql 数据库。更重要的是,一旦它发布到 Azure,会员资格就可以完美运行。我可以创建用户帐户并登录。如果我使用 azure 门户检查我的 SQL Azure 数据库,我可以看到在那里创建的新成员资格表。
但是,当我尝试使用 MVC4 webrole 发布 Windows Azure 云服务时,我看不到任何选项可以为 azure 项目提供任何类型的连接字符串。也许这就是会员不起作用的原因......因为没有与网络角色链接的数据库......但我不知道如何指定它。我的印象是,将独立的 MVC4 项目发布到 Azure,和发布带有 MVC4 Web 角色的 Azure 云服务是完全一样的,如果我错了,请纠正我。无论哪种方式,我都应该能够看到我的 mvc 4 Web 角色的成员资格功能。
以下是重新创建我所拥有的步骤。基本上它都是默认的东西:
在 VS2012 Express File -> New Project -> 'Windows Azure Cloud Service' 中创建一个新项目。
在下一个屏幕上添加一个 ASP.NET MVC 4 Web 角色给它。
在随后的屏幕上选择“Internet 应用程序”。
这 3 个步骤创建了一个新项目。它在本地运行得很好。现在我试着把它放在云端。
在解决方案资源管理器中右键单击 Windows azure 项目,然后选择“发布”。
选择订阅(我已经有证书/凭证可以从 VS 发布到 azure,所以我选择了它)
在下一个屏幕上创建一个云服务(我将其命名为“garyazurecloudservice”)。
接受发布向导中的所有默认设置,然后单击发布。
发布过程需要几分钟时间。可以在http://garyazurecloudservice.cloudapp.net/查看 Web 应用程序。
主页、关于和联系页面都正确显示。但是,当我单击右上角的“注册”链接时,我看到了一个具有正确布局模板的网页,但出现了一个红色错误,上面写着:“错误。处理您的请求时发生错误。”
我试图在 Azure 上创建一个 SQL 数据库,但我看不到任何方法可以将此角色连接到它。可能这就是问题所在?或者也许它完全是另外一回事。如果有人能告诉我出了什么问题,我将不胜感激。
我花了一整天的时间在谷歌上搜索并转圈,但没有成功。感谢您提供任何帮助。加里