@sergeyiljin
Делаю дело

Как в фильтре исключений получить эндпоинт исходящего запроса с ошибкой?

Есть web api сервисы, куда поступают запросы пользователей и есть фильтр исключений, который ловит ошибки. В методах контроллеров также присутствуют вызовы внешних сервисов. WCF, SOAP, REST запросы совершаются прямо в процессе обработки http запроса в текущем методе контроллера. Метод получает запрос от юзера и в процессе обработки совершает вызов другого внешнего сервиса. Как получить URL удалённого сервиса при исключении в процессе вызова в фильтре исключений?
  • Вопрос задан
  • 69 просмотров
Решения вопроса 1
@cicatrix
было бы большой ошибкой думать
Расширяете Exception:
public class ApiException : Exception
    {
        public Uri FailingService { get; protected set; }

        public ApiException(Uri failedURI) { this.FailingService = failedURI; }
    } // ApiException


Ну и пробрасываете из контроллера:
string apiurl = "http://failedapi";
            try
            {
                // вызов API
            }
            catch (Exception ex)
            {
                throw new ApiException(new Uri(apiurl));
            }
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
firedragon
@firedragon
Senior .NET developer
Ловите исключение и пишите в поле. Второе поле пусть будет статус кодом. Но лучше все обрабатывайте у себя, клиенту не нужно знать ничего лишнего. Он получает данные от вас, а вы уж сами думайте что делать с ошибками
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
27 янв. 2021, в 20:47
30000 руб./за проект
27 янв. 2021, в 20:38
1000 руб./за проект
27 янв. 2021, в 20:26
1600 руб./за проект