У меня есть клиент JavaScript, который вызывает Ajax-вызов службы .net (давайте назовем ее первой службой). Затем первая служба вызывает другой контроллер .net (назовем ее второй службой). В этом контроллере я выбрасываю какое-то исключение. В первой строке я говорю:
//Код из второго сервиса
[HttpPost]
public HttpResponseMessage Results(ParamsModel data)
{
throw new Exception("Exception for testing purpose");
}
//Код из первого сервиса
[HttpPost]
public ActionResult Results(ParamsModel data)
{
var client = new HttpClient();
var task = client.PostAsJsonAsync(urlTemplate, data);
var result = task.Result.Content.ReadAsStringAsync().Result;
return Content(result, "application/json");
}
Проблема: хотя вторая служба выдает ошибку и возвращает код состояния 500, первая служба возвращает код состояния 200 клиенту JavaScript. Я также не могу прочитать код состояния, возвращаемый службой Second, поскольку я получаю только строковый вывод.
Пожалуйста, предложите. Я хочу вернуть код состояния 500 при возникновении ошибки.