1

ServiceHost が生きているかどうかを確認したい bool isAlive() メソッドを持つ NetNamedPipeBinding があります。

現在、これは次のようになっています。

 while (!stopThread)
        {
            Thread.Sleep(1000); 
            try{
              try
              {
                 pipeproxy.isAlive();
              }
              catch (CommunicationObjectFaultedException)
              {
                 pipeproxy = pipeFactory.CreateChannel();
              }
            }                
            catch (EndpointNotFoundException)
            {

               //Show notification
                  stopThread=true;
            }
            catch{}
        }
   //Close Application

驚いたことに、ホストがなくても Channel を作成できるので、これが正しいアプローチかどうかはわかりません。

前もって感謝します。

4

1 に答える 1

3

CreateChannel はサービスに接続しません。これは、呼び出したときにのみ発生します。

于 2013-07-24T19:21:08.323 に答える