public void Dispose()
 {
     if (_pipe != null)
     {
         _pipe.ReleaseSubscriptions();
         _pipe.Dispose();
         _pipe = null;
     }
     if (_process != null && !_process.HasExited)
     {
         try
         {
             _process.Kill();
             _process.Dispose();
         }
         catch { }
         finally
         {
             _process = null;
         }
     }
 }
 public SubProcessHelper()
 {
     _pipe = new TcpProcessInteropServer(0);
 }