Я пытаюсь вернуть состояние ошибки после переноса приложения Asp.Net MVC 5 в версию Core.
В моем старом приложении я использовал класс (JsonHttpStatusResult
), который наследуется от JsonResult
и вернул ошибку перехвата, если таковая имеется. Тем не менее, при попытке добавить это в новый проект, к сожалению, у него больше нет некоторых функций.
Я хотел бы использовать эту же концепцию для версии Asp.Net Core, потому что я не хочувернуть true или false , если в JsonResult
возникает ошибка. Ниже приведен пример того, как он работал в MVC 5:
CLASS :
public class JsonHttpStatusResult : JsonResult
{
private readonly HttpStatusCode _httpStatus;
public JsonHttpStatusResult(object data, HttpStatusCode httpStatus)
{
Data = data;
_httpStatus = httpStatus;
}
public override void ExecuteResult(ControllerContext context)
{
context.RequestContext.HttpContext.Response.StatusCode = (int)_httpStatus;
base.ExecuteResult(context);
}
}
ПРИМЕР ВКЛ JSONRESULT
:
public JsonResult Example()
{
try
{
//Some code
return Json(/*something*/);
}
catch (Exception ex)
{
return new JsonHttpStatusResult(ex.Message, HttpStatusCode.InternalServerError);
}
}
AJAX REQUEST :
$.ajax({
url: "/Something/Example",
type: "POST",
dataType: "json",
success: function (response) {
//do something
},
error: function (xhr, ajaxOptions, thrownError) {
//Show error
}
});
Как сделать это или нечто подобное в Asp.Net Core?