首页 > 解决方案 > docker中的Dotnet Web应用程序不显示错误堆栈

问题描述

我在 docker 容器内的 linux 上托管一个 dotnet 核心应用程序。

每当应用程序出现错误时,它都会在浏览器上显示空白页。当页面出现错误时,有没有办法在浏览器本身上查看错误堆栈?

标签: docker.net-core

解决方案


Docker 镜像在非开发模式下运行。删除下面的 if 语句并切换到 app.UserDeveloperExceptionPage() 而不是 useExceptionHandler /Home/Error 页面。

确保 Startup.cs::Configure 函数具有以下代码

if (env.IsDevelopment())
{
    app.UseDeveloperExceptionPage();
}
else
{
    app.UseExceptionHandler("/Home/Error");
}

您还可以更改 launchSettings.config 并添加以下内容:

  "environmentVariables": {
    "ASPNETCORE_ENVIRONMENT": "Development"
  }

ErrorViewModel 和 Error.cshtml 视图也存在。

在此处输入图像描述

只要您的中间件没有被篡改,您应该会看到类似于以下的错误消息:

在此处输入图像描述


推荐阅读