На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> Реконнект к wcf сервису
    Всем привет,
    Есть wcf сервис, есть клиент, который его юзает.
    При определенном запросе к wcf сервису, процесс, в котором сервис хостится и который представляет собой виндовую службу, может отвалиться. Там происходит обращение к unmanaged dll, и перехватить это падение нет возможности. Вин служба настроена так, чтобы самой перезапускаться.
    После падения wcf сервиса клиент с заданным периодом пытается восстановить связь с wcf-сервисом. Но проблема в том, что объект прокси создается успешно, даже если wcf-сервис недоступен. Приходится вызывать тестовый пустой метод wcf-сервиса, ловить exception... Сейчас делаю так:
    ExpandedWrap disabled
      private static void Reconnect()
      {
          try
          {
              lock (_lock)
              {
                  if (!IsOnline)
                  {
                      Debug.WriteLine("Trying to reconnect to the Test service");
                      _cePortalClient = new TestClient();
                      _cePortalClient.Test();
                      IsOnline = true;
                  }
              }
          }
          catch (Exception)
          {
              IsOnline = false;
              _cePortalClient = null;
          }
      }



    нет ли более адекватного способа делать реконнект после падения wcf сервиса?
      Ну вот честно говоря, я тоже думаю, что что-то должно быть такое правильное. НО!
      Я использую такой способ. Только немного подругому. Я делаю периодический вызов пустого метода Ping. По-моему вполне логично. К тому же подключение к серверу устанавливается на время вызова удалённого метода. Т.е. пока не вызовишь метод - не узнаешь, жив ли сервер. Хотя, могу и ошибаться.
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0180 ]   [ 17 queries used ]   [ Generated: 26.04.24, 07:17 GMT ]