如何使用ASP.NET Core显示错误
我有一个相当简单的网站,我正在使用ASP.NET Core。 我从命令行运行应用程序,网站返回静态文件,但当我尝试发出应由MVC处理的请求时,我一直收到500错误。 我怎么看错误是什么? 无论错误是显示给浏览器还是记录到控制台都没关系,我只想找到错误的方法。
添加错误页面中间件,如下所示:
app.UseDeveloperExceptionPage();
beta8更新:
在beta8中,Microsoft将名称更改为UseDeveloperExceptionPage
。 因此,如果要使用ErrorPage,请调用:
app.UseDeveloperExceptionPage();
这是相关Github问题的链接。
ErrorPageOptions
与beta6 / 7中的相同。
您可以使用
app.UseErrorPage(ErrorPageOptions.ShowAll)
直到Asp.Net Mvc的beta5 。
从beta6开始 , ErrorPageOptions.ShowAll
已被删除。 您现在可以使用不带参数的版本
app.UseErrorPage();
或者创建一个ErrorPageOptions对象,并通过设置SourceCodeLineCount指定要显示的错误周围的行数。
app.UseErrorPage(new ErrorPageOptions() {SourceCodeLineCount = 100});
附加信息
他们在此提交中删除了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; ... }
后:
public class ErrorPageOptions { public int SourceCodeLineCount { get; set; } public IFileProvider FileProvider { get; set; } ... }
所以现在你只能设置打印多少行源代码。
如果您不关心您的错误详细信息是否会暴露给全世界,您可以在浏览器中启用错误详细信息,而无需更改任何代码。 ( 这只在IIS 8.5
测试过 ):
- 在
IIS Manager
的左侧“Connections
部分中,左键单击选择您的Site
。 - 在右侧
Feature View
打开Error Pages
。 - 在最右侧的“
Actions
部分中,单击“Edit Feature Settings
- 在
Error Responses
,选择第二个,Detailed errors
,然后选择Ok
(或者如果您担心向世界公开内容,请从第3个选项开始,如果您可以打开本地浏览器…即localhost:.. 。)
这应该足以让您能够看到确切的错误… 重要说明 :如果您必须使用中间的Detailed errors
选项,请务必在调试问题后将其关闭。 这可以让黑客无需打入您的服务器。
- 如何正确地在MVC6中注入HttpContext
- Asp.Net Core 2如何访问ConfigureServices中的IHostingEnvironment?
- 拦截asp.net核心授权操作以在成功授权后执行自定义操作
- EFCore Linq然后将两个外键包含在同一个表中
- 如何使用mvc 6,asp.net 5注册全局filter
- 如何在移动应用程序上进行身份validation后在.NET Core服务器上登录用户
- ASP.NET Core API Controller:Response.Body.WriteAsync base64字符串无法正常工作
- 当结果在IActionResult类型中返回时,如何在Xunit中获取内容值
- 如何在dotnet核心中动态加载程序集