且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

app.UseErrorHandler() 可以访问错误详细信息吗?

更新时间:2023-12-04 09:21:46

8月2016 年 2 月 2 日 - 1.0.0 更新

Startup.cs

using Microsoft.AspNet.Builder;

namespace NS
{
    public class Startup
    {
         ...
         public virtual void Configure(IApplicationBuilder app)
         {
             ...
             app.UseExceptionHandler("/Home/Error");
             ...
         }
     }
}

HomeController.cs

using Microsoft.AspNet.Diagnostics;
using Microsoft.AspNet.Http.Features;
using Microsoft.AspNet.Mvc;
using Microsoft.Extensions.Logging;

namespace NS.Controllers
{
    public class HomeController : Controller
    {
        static ILogger _logger;
        public HomeController(ILoggerFactory factory)
        {
            if (_logger == null)
                _logger = factory.Create("Unhandled Error");
        }

        public IActionResult Error()
        {
            var feature = HttpContext.Features.Get<IExceptionHandlerFeature>();
            var error = feature?.Error;
            _logger.LogError("Oops!", error);
            return View("~/Views/Shared/Error.cshtml", error);
        }
    }
}

project.json

...
"dependencies": {
    "Microsoft.AspNet.Diagnostics": "1.0.0",
     ...
}
...