public void Start() { try { // Init named pipe for (int i = 0; i < _maxServerInstances; i++) { EventPipe pipe = new EventPipe(_inPipeName, _outPipeName, _maxServerInstances, _pipeSecurity); pipe.Start(InConnectionCallBack, OutConnectionCallBack); _pipes.Add(pipe.Id, pipe); } } catch (Exception ex) { log.Error(ex); throw ex; } }
private void RestartConnectionWaiting(string pipeId) { log.Info("RestartWaiting!"); EventPipe pipe = null; try { pipe = _pipes[pipeId]; pipe.Stop(); } catch (Exception ex) { log.Warn("Clean up connection failed: " + ex); } finally { // Restart stream to wait for new connection if (pipe != null) { pipe.Start(InConnectionCallBack, OutConnectionCallBack); } } }