В моем ASP. NET Базовом контроллере WebAPI, когда я передаю объект исключения в JsonResult, он, похоже, не распознает ни одно из свойств исключения и не заполняет их соответствующим образом (он просто возвращает 500 без текста ). Однако, когда я создаю новый анонимный объект и передаю его, он возвращает 500 с тем, что вы ожидаете. Кажется, что у него есть большая проблема с отображением объекта исключения напрямую и полностью. Мне интересно, есть ли проблема / опция конфигурации.
[HttpGet]
public IActionResult GetSomething()
{
try
{
throw new Exception("hey");
}
catch (Exception e)
{
// the following does not work as expected
return new JsonResult(e)
{
StatusCode = StatusCodes.Status500InternalServerError
};
// the following works as expected
return new JsonResult(new { Message = e.Message })
{
StatusCode = StatusCodes.Status500InternalServerError
};
}
}