コード例 #1
0
        public int Run(IServiceStartup startClass, string[] args)
        {
            if (args.Any())
            {
                return(_commandLineApp.Run(args));
            }


            _startUp = new ServiceStartup(startClass);
            _startUp.Initialize();

            var isWindows = RuntimeInformation.IsOSPlatform(OSPlatform.Windows);
            var handler   = new UnixSignalHandler();

            if (!isWindows)
            {
                handler.WaitForSignal(new System.Collections.Generic.List <Mono.Unix.Native.Signum>
                {
                    Mono.Unix.Native.Signum.SIGQUIT,
                    Mono.Unix.Native.Signum.SIGTERM,
                    Mono.Unix.Native.Signum.SIGHUP
                }, Exit);
            }

            else
            {
                Console.CancelKeyPress += Console_CancelKeyPress;
                Thread.Sleep(Timeout.Infinite);
            }

            return(0);
        }
コード例 #2
0
        public static void ContainerSetup(Container container, IServiceStartup startup)
        {
            var serviceStartup = new ServiceStartup(startup);

            if (_configuration == null)
            {
                serviceStartup.LoadSettings();
                serviceStartup.ConfigureLogger();
            }

            serviceStartup.ConfigureContainer(container);
        }
コード例 #3
0
 public ServiceStartup(IServiceStartup startup)
 {
     _startup = startup;
 }