我有一个相当简单的网站,我正在使用ASP.NET Core.我从命令行运行应用程序,网站返回静态文件,但当我尝试发出应由MVC处理的请求时,我一直收到500错误.我怎么看错误是什么?无论错误是显示在浏览器上还是记录到控制台都没关系,我只是想知道错误是什么.
Vic*_*aci 47
添加错误页面中间件作为显示在这里:
app.UseDeveloperExceptionPage();
Run Code Online (Sandbox Code Playgroud)
Dom*_*see 19
beta8的更新:
在beta8中,微软将名称更改为UseDeveloperExceptionPage.因此,如果要使用ErrorPage,请调用:
app.UseDeveloperExceptionPage();
Run Code Online (Sandbox Code Playgroud)
这是相关Github问题的链接.
的ErrorPageOptions是相同的,如beta6/7.
您可以使用
app.UseErrorPage(ErrorPageOptions.ShowAll)
Run Code Online (Sandbox Code Playgroud)
直到Asp.Net Mvc的beta5.
截至beta6,ErrorPageOptions.ShowAll已被删除.您现在可以使用不带参数的版本
app.UseErrorPage();
Run Code Online (Sandbox Code Playgroud)
或者创建一个ErrorPageOptions对象,并通过设置SourceCodeLineCount指定要显示的错误周围的行数.
app.UseErrorPage(new ErrorPageOptions() {SourceCodeLineCount = 100});
Run Code Online (Sandbox Code Playgroud)
附加信息
他们删除ErrorPageOptions了此提交中的多个属性.
之前:
public class ErrorPageOptions
{
private bool _defaultVisibility;
private bool? _showExceptionDetails;
private bool? _showSourceCode;
private bool? _showQuery;
private bool? _showCookies;
private bool? _showHeaders;
private bool? _showEnvironment;
...
}
Run Code Online (Sandbox Code Playgroud)
后:
public class ErrorPageOptions
{
public int SourceCodeLineCount { get; set; }
public IFileProvider FileProvider { get; set; }
...
}
Run Code Online (Sandbox Code Playgroud)
所以现在你只能设置打印多少行源代码.
如果您不希望将错误详细信息公开,可以直接在浏览器中启用错误详细信息,而无需进行任何代码更改。(仅在中进行了测试IIS 8.5):
IIS Manager的左侧Connections部分中,单击鼠标左键选择您的Site。Feature View打开Error Pages。Actions部分,单击Edit Feature SettingsError Responses,选择2nd,Detailed errors选项,然后Ok(或者,如果您担心将东西暴露给世界,请从3rd选项开始,如果您可以打开本地浏览器...即localhost:...)这应该足以使您看到确切的错误... 重要说明:如果必须使用中间Detailed errors选项,请确保在调试问题后将其关闭。这可以给黑客提供入侵他服务器所需的一切。
| 归档时间: |
|
| 查看次数: |
31882 次 |
| 最近记录: |