docker - docker中的Dotnet Web应用程序不显示错误堆栈
问题描述
我在 docker 容器内的 linux 上托管一个 dotnet 核心应用程序。
每当应用程序出现错误时,它都会在浏览器上显示空白页。当页面出现错误时,有没有办法在浏览器本身上查看错误堆栈?
解决方案
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 视图也存在。
只要您的中间件没有被篡改,您应该会看到类似于以下的错误消息:
推荐阅读
- javascript - javascript 仅在我添加第二个 getElementbyId 时才连接数字
- go - 当原始 arg 是指针时如何转换类型
- javascript - 按钮单击后引导模式变为空白
- node.js - 由于配置错误,执行失败:Node JS Lambda 中的 Lambda 代理响应格式错误
- flutter - Flutter 在对象列表中获取值
- swift - 无法将新参数传递给 `NSView` 的 `init`
- r - 删除嵌套列表中的重复项
- reactjs - 删除数据前提交按钮,reactjs
- c++ - 从 int 数组转换为 char 数组
- typescript - 验证失败:转换为数组的值失败