检查ServiceHost是否还活着

时间:2013-07-24 13:31:54

标签: c# .net wcf

我有一个带有bool isAlive()方法的NetNamedPipeBinding,我想用它来检查ServiceHost是否还活着。

目前看起来像这样:

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

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

令人惊讶的是,即使没有主机,我也可以创建一个频道,所以我不确定这是否是正确的方法。

提前致谢。

1 个答案:

答案 0 :(得分:2)

CreateChannel无法连接到服务,只有在您调用它时才会发生这种情况。