powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Проверка доступности WCF сервиса
5 сообщений из 5, страница 1 из 1
Проверка доступности WCF сервиса
    #37476213
ValeraSmirnov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые коллеги!
Пишу клиент-серверное приложение на WCF/WPF.
Возникла задача при потере связи вновь подключаться в сервису.
Кто как решает подобные вещи?
Банально, каждые n минут пытаться создать подключение и ловить exception? А если сервис недоступен в течении часа, то при ежеминутной проверке не повлияет ли такое кол-во эксепшенов на производительность?
...
Рейтинг: 0 / 0
Проверка доступности WCF сервиса
    #37476414
Фотография n_string
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пробовал Ping, но это средство не всегда успешно работает, поэтому все-таки лучше перехватывать CommunicationException и запускать клиента до посинения:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
static void Main(string[] args)
        {
            bool taskPerformed = false;
            int tryCounter = 0;

            while (!taskPerformed)
            {
                MathServiceClient client = new MathServiceClient();

                try
                {
                    client.CallService();
                    
                    taskPerformed = true;
                }
                catch (CommunicationException exception)
                {
                    Console.WriteLine(exception.Message);
                    client.Abort();

                    taskPerformed = false;
                    Thread.Sleep(1000 * tryCounter);
                    tryCounter++;
                }
            }

            Console.WriteLine("\r\nTask successfully performed");
            Console.ReadLine();
        }
...
Рейтинг: 0 / 0
Проверка доступности WCF сервиса
    #37476776
ValeraSmirnov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
n_string, благодарю за ответ.

А чем не подошел Ping, можете рассказать? И замечаете ли какие то проблемы с производительностью, если пытаться дергать сервис до посинения и получать exception?
...
Рейтинг: 0 / 0
Проверка доступности WCF сервиса
    #37477531
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValeraSmirnovn_string, благодарю за ответ.

А чем не подошел Ping, можете рассказать? И замечаете ли какие то проблемы с производительностью, если пытаться дергать сервис до посинения и получать exception?

1. пинг может не отвечать , а сервис быть доступным
2. пинг может отвечать , а сервис быть недоступным
...
Рейтинг: 0 / 0
Проверка доступности WCF сервиса
    #37478123
Фотография n_string
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValeraSmirnovИ замечаете ли какие то проблемы с производительностью, если пытаться дергать сервис до посинения и получать exception?Теоретически любой exception может вызвать сбой в работе ОС, особенно если основной поток ожидает результатов работы IO операции. В нативном коде такие операции обернуты в timeout и запускаются в отдельном потоке, поэтому в случае неудачи ОС просто прихлопнет поток и вернет CLR тип ошибки. Сами понимаете, аборт зависшего потока непростая операция, поэтому ничто не гарантирует smooth operation.

На практике же такие ситуации случаются крайне редко, а чтобы избежать тупого повторения запроса, пауза между запросами постоянно увеличивается (посмотрите на приведенный код), т.е. производительность ОС максимально защищена.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Проверка доступности WCF сервиса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]