Как реализовать повторные попытки для клиентов WCF?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как реализовать повторные попытки для клиентов WCF?

Сообщение Anonymous »

У меня есть клиент C#, реализующий System.ServiceModel.ClientBase для связи с API SOAP.
Я хочу, чтобы клиент автоматически повторял запросы при истечении времени ожидания .
Думаю, я мог бы использовать такую ​​библиотеку, как Polly, для создания экземпляра HttpClient с политикой повтора.

Однако я не могу понять, как создать экземпляр клиента WCF с помощью этого HttpClient.
Я также не уверен, предназначен ли я для этого используя совершенно другой подход, например создание IEndpointBehavior.
Похоже, есть метод экземпляра CreateChannel, который можно переопределить, и метод ConfigureEndpoint статический частичный метод, который можно реализовать, но я не могу найти примеров того, как правильно их использовать для реализации повторной попытки либо с помощью созданного экземпляра HttpClient, либо с помощью какого-либо другого механизма.
Я искал через документацию по созданию клиентов. Есть разделы, посвященные использованию фабрик каналов, но, похоже, в нем также нет механизма предоставления HttpClient.
В документации по ожидаемым исключениям конкретно упоминается TimeoutException, но пример просто пытается/перехватывает вызовы на клиенте.
Мне действительно не хочется делать RetryOnTimeout(client => client.MethodToRetryOnTimeout());. Я знаю, что могу это сделать, и знаю, что могу создать декоратор, который обертывает все клиентские вызовы аналогичной логикой. Я просто не думаю, что это правильный подход.
Буду признателен за любую помощь, которая направит меня в правильном направлении.

Подробнее здесь: https://stackoverflow.com/questions/759 ... cf-clients
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»