В моем веб-приложении у меня есть как веб-API, так и обычный MVC. Я создал расширение для httpResponse
public static void ShowApplicationError(this HttpResponse response, string exceptionMessage,string innerException)
{
var result = JsonConvert.SerializeObject(new { error = exceptionMessage ,detail=innerException });
response.HttpContext.Response.WriteAsync(result);
}
и использовал его в файле startup.cs для обработки исключений.
app.UseExceptionHandler(builder =>
{
builder.Run(async context =>
{
context.Response.StatusCode = (int)HttpStatusCode.InternalServerError;
var error = context.Features.Get<IExceptionHandlerFeature>();
if (error != null)
{
context.Response.ShowApplicationError(error.Error.Message, error.Error.InnerException.Message);
}
});
});
как это.это прекрасно работает для обоих.Я хочу дифференцировать ошибку для каждого запроса.я не хочу показывать ошибку json для mvc end, как мне это сделать.