1

我正在使用SDK 1.8。我想在 azure 中部署一个示例站点。我有一个测试帐户,所以我不知道我是否拥有完全权限。当我使用模拟器在本地运行站点时,它运行但当我创建包并部署时在天蓝色我得到一个错误:

500 - Internal server error

我发现这个问题 有同样的问题。它已经 5 个月大了,没有解决方案。我包括web.config

customErrors="Off"

但仍然是同样的问题。我将它部署为一个创建包的站点。

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

4

3 回答 3

0

Azure 网站未部署为包,您从 TFS 或 Visual Studio 发布。Azure WebRoles 使用包部署到 Azure 云服务。按照您引用的问题中的建议,完全删除“站点”元素。对于简单的部署,它被过度指定了。请参见此处的图 1 - http://msdn.microsoft.com/en-us/wazplatformtrainingcourse_advancedwebandworkerroles_topic2.aspx

于 2012-12-30T18:02:10.247 回答
0

您可能希望使用计算模拟器在本地进行调试。即使您现在不使用它来快速在云上工作,您将来也需要它。

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

这不像启用自定义错误那么容易,并且需要对 Web 角色进行一些修改。这篇文章“调试 Azure HTTP 500 错误”解释了如何做到这一点,所以,简而言之:

在您的 Web 角色的根级别创建一个名为 startup 的新文件夹,并在此文件夹中创建一个名为startup.cmd. 将此文件的属性设置为 Copy Always 以确保将其部署。

将以下代码添加到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在您的 Web 角色项目中打开该文件并添加以下元素:

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

你的项目应该看起来像这样(在这个例子中,启动标签被注释掉了)

在此处输入图像描述

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

于 2013-08-20T14:29:51.703 回答
0

这可能是由于各种原因。就我而言,这是LocalWebDevelopmentServer 设置的错误配置。设置它来IISExpress解决问题。在此处输入图像描述

于 2013-12-02T13:54:56.883 回答