Мне нужен способ обработки и регистрации всех исключений, возникающих в веб-api в одном месте. Я переопределяю методы как ExceptionLogger, так и ExceptionHandler, но код прерывается и никогда не запускает механизмы обработки.ASP.NET WEB API 2: обработчик исключений и регистратор не обрабатывают все ошибки
Если я изменил мой контроллер должен же методы API, которые вызывают другую ошибку:
[RoutePrefix("api/Ads")]
public class AdsController : ApiController
{
public IHttpActionResult Get()
{
return Ok(Ad.GetAds());
}
public IHttpActionResult Get(object name)
{
return Ok();
}
}
Обработчик собирается поймать ошибку:
В этом случае возникает ошибка:
Multiple actions were found that match the request:
Исключены ли исключения ExceptionLogger и ExceptionHandler ошибки, вызванные веб-api на более высоком уровне? и что мне делать, чтобы справляться со всеми ошибками, являются ли фильтры исключения, решение также необходимо добавить?
Я уже добавил фильтры исключений, но также не работает. Я также попытался создать свои собственные исключения и выбросить их, но это не вызвало ни одного из фильтров исключений или exceptionLogger. Я не знаю, может быть, я чего-то не хватает. – Coding
Я мог ошибаться, но я не думаю, что ваши 'множественные действия были найдены, которые соответствуют запросу:' ошибка будет обрабатываться любой обработкой в коде .... я мог бы ошибаться по этому поводу. Я бы этого не ожидал. –
Да, потому что это уже происходит перед выполнением действия. Но вопрос о том, почему какой-либо из механизмов не будет обрабатывать ошибку, вызванную внутри самого действия, например «throw new Exception()». – Coding