示例#1
0
        protected override void OnStop()
        {
            try
            {
                if (_httpListener != null)
                {
                    _httpListener.Close();
                    _httpListener = null;
                }
                if (_delayedQueue != null)
                {
                    _delayedQueue.Dispose();
                    _delayedQueue = null;
                }

                if (_queue != null)
                {
                    _queue.Dispose();
                    _queue = null;
                }

                if (_msConnector != null)
                {
                    EventLink.Post(ConstHelper.EventSource, _serviceStopped);
                    _msConnector.Dispose();
                    _msConnector = null;
                }
            }
            catch (Exception ex)
            {
                if (_msConnector != null)
                {
                    EventLink.Post(ConstHelper.EventSource, _serviceStopId, ex);
                }
            }
        }
示例#2
0
        protected override void OnStart(String[] args)
        {
            _msConnector = RemoteControl.CreateConnector();
            try
            {
                EventLink.Post(ConstHelper.EventSource,
                    String.Format(_helloMessage, ServerVersion));

                // создаем очередь заданий на выгрузку
                _writeSync = new Object();
                _queue = new ERPService.CashDe.Upload.Queue(EventLink, WorkingDirectory, 
                    _writeSync);

                // создаем очередь отложенных обновлений
                _delayedQueue = new ERPService.CashDe.Upload.DelayedQueue(
                    EventLink, _queue, _writeSync, WorkingDirectory);

                // создаем веб-сервер
                _httpListener = new HttpListener();
                _httpListener.Prefixes.Add(String.Format(_httpPrefix, HttpPort));
                _httpListener.Start();
                _httpListener.BeginGetContext(RequestCallback, _httpListener);

                EventLink.Post(ConstHelper.EventSource, _serviceStarted);
            }
            catch (Exception ex)
            {
                EventLink.Post(ConstHelper.EventSource, _serviceStartId, ex);
                Stop();
            }
        }