示例#1
0
 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;
     }
 }
示例#2
0
        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);
                }
            }
        }