Asp.net mvc 3 带有SQL Azure的ASP.NET MVC Web应用程序(待办事项列表教程)--部署到生产环境时出错

Asp.net mvc 3 带有SQL Azure的ASP.NET MVC Web应用程序(待办事项列表教程)--部署到生产环境时出错,asp.net-mvc-3,azure-sql-database,Asp.net Mvc 3,Azure Sql Database,我正在Windows Azure网站上编写以下教程: (另外:转到windowsazure.com,单击“开发”标题,单击“语言”下的“.Net”,在“创建您的第一个应用程序”下,单击带有SQL Azure的ASP.Net MVC Web应用程序) 我可以在我的开发计算机上的Windows Azure仿真环境中运行该应用程序。如果我将连接字符串更改为生产数据库,则应用程序将在本地开发环境中运行 但是,当我将应用程序部署到Azure时,会收到一条错误消息:“抱歉,处理您的请求时出错。”这会出现在

我正在Windows Azure网站上编写以下教程:

(另外:转到windowsazure.com,单击“开发”标题,单击“语言”下的“.Net”,在“创建您的第一个应用程序”下,单击带有SQL Azure的ASP.Net MVC Web应用程序)

我可以在我的开发计算机上的Windows Azure仿真环境中运行该应用程序。如果我将连接字符串更改为生产数据库,则应用程序将在本地开发环境中运行

但是,当我将应用程序部署到Azure时,会收到一条错误消息:“抱歉,处理您的请求时出错。”这会出现在呈现的页面中,因此我认为请求正在访问ASP.NET

我相信我遇到的问题是允许Azure上的生产应用程序连接到SQL Azure数据库

我认为这是一个防火墙问题,但还不能确定IP范围需要什么。(我以前认为问题在于我在32位环境下运行VS 2010,而Windows Azure是64位环境,但我们从64位环境部署了示例应用程序,并遇到了相同的问题)。有关更多详细信息,请参阅我之前在MSDN上发布的关于同一问题的查询:


谢谢你能提供的任何帮助。我真的希望这个示例应用程序能够工作

正如@veblock所建议的,您可以尝试关闭自定义错误以查看实际错误

同时,您寻求为您的角色启用防火墙规则的“IP范围”只需一个复选框:

您只需选中“允许其他Windows Azure服务访问此服务器”复选框。将自动添加IP范围为“0.0.0.0-0.0.0.0”的条目“Microsoft服务”。这是一个内部条目,Microsoft跟踪其自己的IP范围,以便任何Microsoft Azure数据中心都能够访问此SQL Azure服务器


但是,是的,您也可以通过远程桌面到实例或禁用自定义错误来检查真正的错误消息。在Azure实例中,ASP.NET MVC也不完全安装的可能性很小。消除此问题的最简单方法是右键单击web应用程序项目并选择“添加可部署依赖项”,然后选择ASP.NET MVC。

正如@veblock所建议的,您可以尝试关闭自定义错误以查看实际错误

同时,您寻求为您的角色启用防火墙规则的“IP范围”只需一个复选框:

您只需选中“允许其他Windows Azure服务访问此服务器”复选框。将自动添加IP范围为“0.0.0.0-0.0.0.0”的条目“Microsoft服务”。这是一个内部条目,Microsoft跟踪其自己的IP范围,以便任何Microsoft Azure数据中心都能够访问此SQL Azure服务器


但是,是的,您也可以通过远程桌面到实例或禁用自定义错误来检查真正的错误消息。在Azure实例中,ASP.NET MVC也不完全安装的可能性很小。消除此问题的最简单方法是,右键单击web应用程序项目并选择“添加可部署的依赖项”,然后选择ASP.NET MVC。

更新:让教程在不同的计算机上工作,并使用新的64位配置,指向不同的数据中心

我买了一台64位Windows7 Home Premium的新笔记本电脑,并安装了VisualWebDeveloper2010Express,所有这些都是最新的Azure和MVC SDK。似乎我认为是防火墙问题,可能是中北数据中心的数据库连接问题。(我在猜测,仍然需要针对中南部数据中心测试我的原始配置,以确定是否确实如此。但是,对于托管SQL Azure数据库(3个月订阅),北区数据中心不是一个可用的选择,下面是另一个线程上讨论此问题的链接:


如上所述,需要选中“允许其他Windows Azure服务访问此服务器”复选框,并且该服务和数据库都需要位于同一个Windows Azure数据中心。

更新:获得了在不同计算机上工作的教程和指向不同数据中心的全新64位配置

我买了一台64位Windows 7 Home Premium的新笔记本电脑,并安装了Visual Web Developer 2010 Express,这是所有最新的Azure和MVC SDK。似乎我认为是防火墙问题,可能是中北数据中心的数据库连接问题。(我在猜测,仍然需要针对中南部数据中心测试我的原始配置,以确定是否确实如此。但是,对于托管SQL Azure数据库(3个月订阅),北区数据中心不是一个可用的选择,下面是另一个线程上讨论此问题的链接:


如上所述,复选框“允许其他Windows Azure服务访问此服务器”需要进行检查,并且服务和数据库都需要位于同一个Windows Azure数据中心。

感谢您的帮助。我也遇到了这个问题,并花了几个小时调试了正在进行的操作,因为所有操作都在模拟器中按预期工作,但在生产中无法工作。在我移动了托管服务后当数据库服务器位于同一区域时,问题就消失了

在最初的示例中,还注意到确保两者位于同一区域很重要,但它提到的原因只是性能原因,但对我来说根本不起作用

" 重要提示:选择之前选择的相同区域