Azure WebApp如何获取有用的500错误

时间:2016-04-06 06:22:18

标签: c# asp.net visual-studio azure azure-web-sites

我首先搜索了之前的问题,但找不到任何解决我问题的方法。我有一个Web应用程序项目在本地工作正常,然后在发布后失败500。这是我第一次使用任何Microsoft堆栈(C#,ASP.NET MVC,Azure),所以请耐心等待。

  • Visual Studio 2015社区
  • .NET 4.5 / ASP.NET 5 Web App项目
  • StackExchange.Redis / Fleck / React.AspNET NuGet包

我已将以下内容添加到web.config

<system.web>
  <customErrors mode="Off"/>
</system.web>
<system.webServer>
  ...
  <httpErrors errorMode="Detailed" />
<tracing>
  <traceFailedRequests />
</tracing>
</system.webServer>

我还使用Visual Studio中的“服务器资源管理器”视图在Web应用程序的设置下打开了detailed error messages(右键单击应用程序的名称,单击设置)。我还尝试远程调试Web应用程序,但收到了#34;访问被拒绝&#34;("Remote debugging does not work in Express editions of Visual Studio"可能?)。因此,我将从Azure网络应用发布web.config

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.web>
    <customErrors mode="Off"></customErrors>
  </system.web>
  <system.webServer>
    <handlers>
      <add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified"/>
    </handlers>
    <httpErrors errorMode="Detailed" />
    <httpPlatform processPath="%DNX_PATH%" arguments="%DNX_ARGS%" stdoutLogEnabled="false" startupTimeLimit="3600"/>
    <tracing>
      <traceFailedRequests />
    </tracing>
  </system.webServer>
</configuration>

上面提到的这些变化中的一个或组合可以提供更有用的错误屏幕。

如果有人可以过来并发布答案,说明它可能是哪个步骤以及为什么等等,我很乐意接受它。我不想发布答案,因为老实说我不知道​​哪个&#39;已经修好了?它

2 个答案:

答案 0 :(得分:0)

是的,customErrors元素属于system.web

首次部署到Azure或任何其他服务器时,人们最常犯的错误是正确设置该环境的连接字符串,因此我首先要检查这些错误。

答案 1 :(得分:-1)

您提到 ASP.NET 5 Web App项目,这意味着您有一个 Startup.cs 文件,对吗?

检查 project.json 文件(如果您没有添加)Microsoft.AspNet.Diagnostics包。

然后添加public void Configure处理程序:

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
        app.UseDeveloperExceptionPage();            
        //other app.Uses
}

这适用于本地开发人员,因为它会显示详细的完整错误,您可能希望稍后将其添加到if:

if (env.IsDevelopment())
{
    app.UseDeveloperExceptionPage();
}

Source: docs.asp.net