-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Closed
Labels
area-mvcIncludes: MVC, Actions and Controllers, Localization, CORS, most templatesIncludes: MVC, Actions and Controllers, Localization, CORS, most templates
Description
I am trying to write a error handling controller with app.UseErrorHandler()
[Route("error")]
public class ErrorController : ControllerBase
{
public IActionResult Get()
{
var feature = HttpContext.Features.Get<IExceptionHandlerFeature>();
if (feature.Error is DbUpdateConcurrencyException dberror)
{
var result = Problem(detail: "One or more entities are updated in concurrency",
statusCode: StatusCodes.Status409Conflict,
title: dberror.Message);
var problemDetails = (ProblemDetails)result.Value;
var entities = dberror.Entries.Select(x => x.Entity).OfType<IEntity>().Select(x => new
{
Type = x.GetType().Name,
x.Id
});
problemDetails.Extensions.Add("Entities", entities);
return result;
}
// default internal server error result
return Problem();
}
}Describe the solution you'd like
Consider add argument to Problem() method?
return Problem(detail: "One or more entities are updated in concurrency",
statusCode: StatusCodes.Status409Conflict,
title: dberror.Message,
extensions:"Entities",entities)Metadata
Metadata
Assignees
Labels
area-mvcIncludes: MVC, Actions and Controllers, Localization, CORS, most templatesIncludes: MVC, Actions and Controllers, Localization, CORS, most templates