Example #1
0
        public static void Main()
        {
            var log     = container.GetInstance <ILog>();
            var program = new ServiceProgram(container.GetInstance <IAppConfig>(), log, container.GetInstance <IEmailService>());

            if (Environment.UserInteractive)
            {
                log.Info("Running the monitor in console mode...");
                program.StartJob();
                log.Info("Press a key to exit");
                Console.ReadKey();
            }
            else
            {
                var ServicesToRun = new ServiceBase[]
                {
                    program
                };
                try
                {
                    ServiceBase.Run(ServicesToRun);
                }
                catch (Exception ex)
                {
                    log.Error(ex, "Error when running the service");
                    throw;
                }
            }

            program.Dispose();
        }
        public void MainCallsReleaseForLoggerTest([NotNull][Frozen] IWindsorContainer container,
                                                  [NotNull] ServiceProgram program)
        {
            // assemble
            // act
            program.Main(true);

            // assert
            container.Received().Release(Arg.Any <ILogger>());
        }
        public async Task <bool> Delete(ServiceProgram entity)
        {
            try
            {
                _dbContext.ServicePrograms.Remove(entity);
                await _dbContext.SaveChangesAsync();

                return(true);
            }
            catch (Exception e)
            {
                return(false);
            }
        }
        public async Task <int> Insert(ServiceProgram entity)
        {
            try
            {
                await _dbContext.ServicePrograms.AddAsync(entity);

                await _dbContext.SaveChangesAsync();

                return(entity.ServiceProgramId);
            }
            catch (Exception e)
            {
                return(0);
            }
        }
        public void MainCallsStartOnServiceConsoleForIsWaitForKeyIsFalseTest([NotNull] IWindsorContainer container,
                                                                             [NotNull] IWindsorInstaller installer,
                                                                             [NotNull] IServiceConsole serviceConsole)
        {
            // assemble
            container.Resolve <IServiceConsole>().Returns(serviceConsole);

            var program = new ServiceProgram(container,
                                             installer);

            // act
            program.Main(false);

            // assert
            serviceConsole.Received().Start(false);
        }
Example #6
0
        static void Main(string[] args)
        {
            ServiceProgram.Menu(TypeMenu.type1);
            int choise = Int32.Parse(Console.ReadLine());

            if (choise == 1)
            {
                ServiceProgram.Autorization();
            }
            else if (choise == 2)
            {
                Console.Clear();
                if (ServiceUser.Registration(ServiceProgram.GetUserInfoRegistration()))
                {
                    Console.WriteLine("Register OK");
                }
                else
                {
                    Console.WriteLine("Register ERROR");
                }
            }
        }
Example #7
0
    public static void ServiceMain(string[] args)
    {
        //#if DEBUG
        //            args = new[] {"/d"};
        //#endif
        if (args.Length > 0)
        {
            foreach (var key in args)
            {
                switch (key.ToUpper())
                {
                case "/H":
                    Console.WriteLine(@"
/H Show Help
/I Install Service
/U Uninstall Service
/S Start Service
/T Stop Service
/D Debug Service
");
                    return;

                    break;

                case "/I":
                    InstallService();
                    return;

                    break;

                case "/U":
                    UninstallService();
                    return;

                    break;

                case "/S":
                    try {
                        //foreach (var p in Process.GetProcesses(InstallServiceName).Where(p => p.Id != Process.GetCurrentProcess().Id)) p.Kill();
                        using (var process = Process.Start(new ProcessStartInfo()
                        {
                            FileName = "net", Arguments = string.Format(" start {0}", InstallServiceName), CreateNoWindow = true, UseShellExecute = false, RedirectStandardError = true
                        })) {
                            if (process == null)
                            {
                                return;
                            }
                            process.WaitForExit();
                            var err = process.StandardError.ReadToEnd();
                            if (!string.IsNullOrEmpty(err))
                            {
                                Console.WriteLine(err);
                                return;
                            }
                            foreach (var sc in ServiceController.GetServices().Where(sc => sc.ServiceName == InstallServiceName))
                            {
                                Console.WriteLine("Start Service is {0}", sc.CanStop ? "succeed" : "failed");
                                break;
                            }
                        }
                    } catch (Exception) {
                    }
                    return;

                    break;

                case "/T":
                    using (var process = Process.Start(new ProcessStartInfo()
                    {
                        FileName = "net", Arguments = string.Format(" stop {0}", InstallServiceName), CreateNoWindow = true, UseShellExecute = false, RedirectStandardError = true
                    })) {
                        if (process == null)
                        {
                            return;
                        }
                        process.WaitForExit();
                        var err = process.StandardError.ReadToEnd();
                        if (!string.IsNullOrEmpty(err))
                        {
                            Console.WriteLine(err);
                            return;
                        }
                        foreach (var sc in ServiceController.GetServices().Where(sc => sc.ServiceName == InstallServiceName))
                        {
                            Console.WriteLine("Stop Service is {0}", !sc.CanStop ? "succeed" : "failed");
                            break;
                        }
                    }
                    return;

                    break;

                case "/D":
                    Debug = true;
                    var service = new ServiceProgram();
                    service.OnStart(null);
                    Console.WriteLine("Service Started...");
                    Console.WriteLine("<press any key to exit...>");
                    Console.Read();
                    return;

                    break;

                default:
                    return;

                    break;
                }
            }
        }
        ServiceBase.Run(new ServiceProgram());
    }
 public void LoggerIsNotNullTest([NotNull] ServiceProgram program)
 {
     Assert.NotNull(program.Logger);
 }
 public void ConstructorCreatesSelkieConsoleTest([NotNull][Frozen] IWindsorContainer container,
                                                 [NotNull] ServiceProgram program)
 {
     container.Received().Resolve <IServiceConsole>();
 }
 public void ConstructorCreatesLoggerTest([NotNull][Frozen] IWindsorContainer container,
                                          [NotNull] ServiceProgram program)
 {
     container.Received().Resolve <ILogger>();
 }
 public void ConstructorCallsInstallTest([NotNull][Frozen] IWindsorContainer container,
                                         [NotNull][Frozen] IWindsorInstaller installer,
                                         [NotNull] ServiceProgram program)
 {
     container.Received().Install(installer);
 }
Example #12
0
 static void Main(string[] args)
 {
     ServiceProgram.ServiceMain(args.Length > 0 ? args : new[] { "/H" });
     //ServiceProgram.ServiceMain(new[] {"/D"});
 }
Example #13
0
 public HostInterface(ServiceProgram program)
 {
     this.program = program;
 }