<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=317058&amp;view=findpost&amp;p=2903416</guid>
        <pubDate>Sun, 29 May 2011 17:00:16 +0000</pubDate>
        <title>Реконнект к wcf сервису</title>
        <link>https://forum.sources.ru/index.php?showtopic=317058&amp;view=findpost&amp;p=2903416</link>
        <description><![CDATA[Ozz: Ну вот честно говоря, я тоже думаю, что что-то должно быть такое правильное. НО&#33; <br>Я использую такой способ. Только немного подругому. Я делаю периодический вызов пустого метода Ping. По-моему вполне логично. К тому же подключение к серверу устанавливается на время вызова удалённого метода. Т.е. пока не вызовишь метод - не узнаешь, жив ли сервер. Хотя, могу и ошибаться.]]></description>
        <author>Ozz</author>
        <category>.NET: Распределенные приложения</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=317058&amp;view=findpost&amp;p=2738107</guid>
        <pubDate>Thu, 28 Oct 2010 10:58:59 +0000</pubDate>
        <title>Реконнект к wcf сервису</title>
        <link>https://forum.sources.ru/index.php?showtopic=317058&amp;view=findpost&amp;p=2738107</link>
        <description><![CDATA[debugx: Всем привет,<br>
Есть wcf сервис, есть клиент, который его юзает.<br>
При определенном запросе к wcf сервису, процесс, в котором сервис хостится и который представляет собой виндовую службу, может отвалиться. Там происходит обращение к unmanaged dll, и перехватить это падение нет возможности. Вин служба настроена так, чтобы самой перезапускаться.<br>
После падения wcf сервиса клиент с заданным периодом пытается восстановить связь с wcf-сервисом. Но проблема в том, что объект прокси создается успешно, даже если wcf-сервис недоступен. Приходится вызывать тестовый пустой метод wcf-сервиса, ловить exception... Сейчас делаю так:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">private static void Reconnect()</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;try</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;lock (_lock)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (!IsOnline)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Debug.WriteLine(&quot;Trying to reconnect to the Test service&quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;_cePortalClient = new TestClient();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;_cePortalClient.Test();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;IsOnline = true;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;catch (Exception)</div><div class="code_line">&nbsp;&nbsp; &nbsp;{</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;IsOnline = false;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;_cePortalClient = null;</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">}</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
<br>
<br>
нет ли более адекватного способа делать реконнект после падения wcf сервиса?]]></description>
        <author>debugx</author>
        <category>.NET: Распределенные приложения</category>
      </item>
	
      </channel>
      </rss>
	