32 lines
940 B
C#
32 lines
940 B
C#
using Microsoft.AspNetCore.Diagnostics;
|
|
using Microsoft.AspNetCore.Http;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using Microsoft.Extensions.Logging;
|
|
|
|
namespace OI.Metrology.Viewer.Controllers;
|
|
|
|
[Route("/error")]
|
|
public class ErrorHandlerController : Controller
|
|
{
|
|
private readonly ILogger _Logger;
|
|
|
|
public ErrorHandlerController(ILogger<ErrorHandlerController> logger) => _Logger = logger;
|
|
|
|
public IActionResult Index()
|
|
{
|
|
IExceptionHandlerFeature error = HttpContext.Features.Get<IExceptionHandlerFeature>();
|
|
if (error == null)
|
|
{
|
|
return Redirect("~/");
|
|
}
|
|
else
|
|
{
|
|
_Logger.LogError("Unhandled exception: " + error.Error.ToString());
|
|
dynamic r = new
|
|
{
|
|
Message = error.Error == null ? "Error" : error.Error.Message
|
|
};
|
|
return StatusCode(StatusCodes.Status500InternalServerError, r);
|
|
}
|
|
}
|
|
} |