예제 #1
0
 public bool Connect(IFPSCallback callbackInstance)
 {
     DuplexChannelFactory<IFPSService> pipeFactory =
           new DuplexChannelFactory<IFPSService>(
               new InstanceContext(callbackInstance),
               new NetNamedPipeBinding(),
               new EndpointAddress(AppHealthService.BaseAddress +
                   AppHealthService.ServiceAddress));
     try
     {
         pipeProxy = pipeFactory.CreateChannel();
         pipeProxy.Subscribe(System.Reflection.Assembly.GetExecutingAssembly().Location,
             Process.GetCurrentProcess().ProcessName);
         return true;
     }
     catch (Exception e)
     {
         Console.WriteLine(e.Message);
         return false;
     }
 }
예제 #2
0
 private void RelaunchSubscriber(IFPSCallback subscriber)
 {
     if (!process.HasExited)
     {
         process.Kill();
     }
     Process.Start(subscriberAppName);
     subscribers.Remove(subscriber);
 }