2012-12-30 22 views
1

我正在使用SDK 1.8。我想在azure中部署示例站点。我有一个测试帐户,因此我不知道自己有没有完整的权限。当我在本地运行站点时模拟器它的运行,但是当我创建了一个包,在蔚蓝的部署我得到了一个错误:500 - 天蓝色的内部服务器错误

500 - Internal server error 

我发现this question具有相同problem.Its 5个月大,没有solution.I包括web.config

customErrors="Off" 

但仍然相同problm.I部署这个作为与crea的网站一个包。

我搜索但从未找到任何解决方案。可能有些机构面临同样的问题并得到解决方法。谢谢。

+0

请分享更多详情! MVC 4/.NET 4.5?网址是什么?你有没有尝试设置customErrors =“Off”来获得完整的堆栈跟踪?码?部署方法? – viperguynaz

+0

@viperguynaz yap customErrors =“关”,但仍然得到相同的错误。并使用.NET 4.5。 –

+0

部署到Azure站点或服务?你如何部署? – viperguynaz

回答

0

您可能想要使用计算模拟器在本地进行调试。即使您现在不使用它来快速处理云,您将来仍然需要它。

帮助获取更多描述性输出的一种方法是启用详细的错误消息,而不是您目前看到的错误消息。

这并不像启用自定义错误那样容易,而且需要对网络角色进行修改。本文'Debugging Azure HTTP 500 Errors'解释了如何执行此操作,因此,简而言之:

在您的Web角色的根级别创建一个名为startup的新文件夹,并在此文件夹内创建一个名为startup.cmd的批处理文件。将此文件的属性设置为始终复制以确保它将被部署。

下面的代码添加到startup.cmd文件:

%windir%\system32\inetsrv\AppCmd.exe set config -section:system.webServer/httpErrors -errorMode:Detailed 
%APPCMD% set config -section:system.webServer/httpErrors -errorMode:Detailed 

第一行使得在Azure详细的错误消息。第二行在计算模拟器上启用它们。

接下来,打开ServiceDefinition.csdef文件在网络作用的项目,并添加以下元素:

<Startup> 
    <Task commandLine=”..\startup\startup.cmd” executionContext=”elevated” /> 
</Startup> 

你的项目应该是这个样子(本例中的启动标签被注释掉)

enter image description here

如果一切顺利的话,你应该开始看到更多的有用的,描述性的错误消息。

0

这可能是由于各种原因。 在我的情况下,这是LocalWebDevelopmentServer设置的错误配置。将其设置为IISExpress解决了该问题。 enter image description here