예제 #1
0
        protected override void OnStart(string[] args)
        {
           
            try
            {
                base.OnStart(args);
                int delay = 0;
                lock (lockShutdown)
                {
                    hasShutteddown = false;

                    errorHandler = new ErrorHandler(serviceEventLog, lockLog);

                    setInstallationWorkingDirectory();
                    config = CallSelectorFactory.loadISelectorConfig(new FileInfo("CallSelectorConfig.xml"));
                    delay = config.HostRequestDelayMilliseconds();
                    processingThread = new Thread(new ThreadStart(RunProcessing));
                    processingThread.Start();
                }
                lock (lockLog)
                {
                    serviceEventLog.WriteEntry("Start. delay=" + delay + "; " + (config.LogDebug() ? "debug=true" : "debug=false"));
                }
            }
            catch (ThreadAbortException) { /*ignore*/}
            catch (Exception e)
            {
                if (null != errorHandler) errorHandler.handle(e);
            }
            
        }