升级到ASP.NET 5 beta5后如何进一步调试500内部服务器错误

时间:2015-07-03 23:03:50

标签: azure asp.net-core kudu

我有一个运行asp.net 5 beta4的网站,并决定升级到beta5。该网站在当地运行良好。我将更改推送到master并从bitbucket中获取并成功部署。

当我尝试使用azure访问该网站时,我收到500内部服务器错误。我尝试了很多东西,但似乎无法追查失败的根本原因。我正在寻找建议,因为我正在撞墙。从我在下面尝试过的,似乎有些基本的初始化失败了。

这是我尝试过的:

  • 启用customerrors =“off”。我使用system.web / customErrors mode =“Off”将www.config添加到wwwroot文件夹。我已经验证了web.config是在已部署的wwwroot中正确填充的,并且包含dnxversion等的appsettings正确合并。
  • 自定义自定义错误页面,添加runtimeinfo。我在Startup.cs中设置了以下内容: app.UseErrorHandler("/Home/Error");。我还设置了错误页面来显示异常。这似乎没有被击中。
  • 附加到远程进程进行调试。视觉工作室最终会冻结,因此无法随心所欲。
  • 启用了应用洞察。这在我本地调试时会记录事件,但不会从azure实例中捕获任何内容。
  • 启用应用程序日志并请求失败跟踪。详细错误显示500.0,没有太多详细信息。

Imgur Imgur

我还通过控制台验证了运行时已正确设置为beta5。

更新 我将ASPNET_ENV设置为Development,并加载了通过azure门户加载的appsettings。将ASPNET_ENV设置为其他内容无效。我还从startup.cs中删除了与非开发环境相关的任何自定义代码,没有任何帮助。我仍在寻找捕捉原始错误的方法。

1 个答案:

答案 0 :(得分:1)

假设你的目标是DNX451而不是dnxcore50,那么很有可能Azure仍然试图针对beta4运行时而不是beta5运行它。如果是这样的话,你就不会得到一个像样的错误信息。

尝试在Azure中添加环境变量" SCM_DNX_VERSION"并将其设置为1.0.0-beta5。看起来kudu最近已升级为支持beta5 https://github.com/projectkudu/kudu/commit/55175a017779bf493ff8e6ce87b96dd1451f7d7b,所以在Kudu团队已部署此更改的情况下,您可能想尝试从bitbucket重新部署。

有关详细信息,您可以查看我以前的答案(虽然它已经过时并且引用旧的" K"名称):

Deploying ASP.NET vNext beta 2 on Azure with Kudu

每次更新到新的测试版时,都必须更新SCM_DNX_VERSION环境变量。