Интересно, есть ли способ получить код состояния, который контроллер возвратил после оператора return. Позволь мне объяснить. У меня есть следующий код
[HttpPost]
public IHttpActionResult Post(Order order)
{
try
{
// some code
return Created();
}
catch(Exception e)
{
// some code
return InternalServerError(e)
}
finally
{
// Here I want to know if I've returned Created or InternalServerError
}
}
Я знаю, что могу объявить переменную перед попыткой, назначить ее в блоках try и catch и прочитать позже в файле finally. Это решение, которое я использую сейчас, но я ищу более элегантное .
Я видел, что в контроллере есть свойство ActionContext.Response.StatusCode
, похоже, это то, что я ищу, но ActionContext.Response
имеет значение null в то время, когда выполняется блок finally