Example #1
0
        public void Preload(string[] parameters)
        {
            Log4NetHelper.Configure("WebApi");
            var log = LogManager.GetLogger(GetType());

            EpsHelper.Initialize();
            log.Info("WarmUp complete");
        }
Example #2
0
        public override void DoTest()
        {
            Log4NetHelper.Configure("TEST");

            var si = new IntegrationService();

            ArtWrapper[] items;
            var          path = @"Data\ArtWrapper.xml";
            //var path = @"Data\ArtWrapper_SpeedTest.xml";
            var serialiser = new XmlSerializer(typeof(ArtWrapper[]));

            using (TextReader reader = new StreamReader(path))
            {
                items = (ArtWrapper[])serialiser.Deserialize(reader);
                reader.Close();
            }

            //var startTime = DateTime.Now;
            var result = si.ArtPackageLoad(items);
            //var endresult = string.Format("Загружено за {0}", DateTime.Now - startTime);
        }
Example #3
0
        public static void Init(string appName)
        {
            Log4NetHelper.Configure(appName);

            // код ниже позволяет отследить незагруженные сборки
            AppDomain.CurrentDomain.AssemblyResolve += CurrentDomainOnAssemblyResolve;

            try
            {
                // снижаем частоту обновления картинки на экране (должно помочь на слабых процессорах)
                Timeline.DesiredFrameRateProperty.OverrideMetadata(typeof(Timeline),
                                                                   new FrameworkPropertyMetadata {
                    DefaultValue = 10
                });

                PrintStartLogHeader();
            }
            catch (Exception ex)
            {
                Log.Debug(ex);
            }
        }
Example #4
0
        public void Start(Type appType = null)
        {
            // если нет параметров - это ошибка
            if (Parameters == null || Parameters.Count == 0)
            {
                throw new OperationException("Arguments is not defined. Please, check command line arguments");
            }

            // применяем параметры
            if (Parameters.ContainsKey(ConfigBase.NameParam))
            {
                // вычитываем имя
                var name = Parameters[ConfigBase.NameParam];
                Log4NetHelper.SetServiceName(string.Format("_{0}", name));

                // Добавляем суффикс к имени сервиса
                ServiceName += ":" + name;
                DisplayName  = ServiceName;
            }

            Log4NetHelper.Configure(_defaultName);
            // определяем комманду на удаление сервиса
            var isNeedRemoveService = Parameters.ContainsKey(ParamServiceNo);

            if (isNeedRemoveService)
            {
                RemoveService();
                return;
            }

            // определяем какой вид запуска (сервис или консоль)
            var runAsService = Parameters.ContainsKey(ParamService);

            var context = new ServiceContext(ServiceName, Parameters);

            //запуск приложения как сервиса
            if (runAsService)
            {
                // если сервиса нет - устанавливаем его и запускаем
                var sysService = GetInstalledService();
                if (sysService == null)
                {
                    sysService = CreateService();
                    sysService.Start();
                    return;
                }

                // если сервис есть - запускаем логику
                var svc = _hostFactory.GetService(context);
                ServiceBase.Run(svc);
            }
            //запуск в режиме консольного приложения
            else
            {
                IAppHost app = null;
                try
                {
                    app = _hostFactory.GetApp(context);
                    app.Start(null);

                    _log.Info("Press escape to exit");
                    ConsoleKeyInfo keyInfo;
                    do
                    {
                        keyInfo = Console.ReadKey();
                    }while (keyInfo.Key != ConsoleKey.Escape);
                }
                catch (Exception ex)
                {
                    _log.Error("Fatal error." + ExceptionHelper.ExceptionToString(ex), ex);
                }
                finally
                {
                    if (app != null)
                    {
                        app.Stop();
                    }
                }
            }
        }