protected override void OnStop() { base.OnStop(); CremaLog.Debug("service close"); this.cremaService.Close(); CremaLog.Debug("service closed."); }
protected override void OnStart(string[] args) { base.OnStart(args); var baseArgs = Environment.GetCommandLineArgs(); var path = baseArgs[1]; var port = int.Parse(baseArgs[2]); this.cremaService = new CremaService() { BasePath = path, Port = port, }; CremaLog.Debug("service base path : {0}", path); CremaLog.Debug("service port : {0}", port); try { CremaLog.Debug(args.Length); if (args.Any() == true) { var settings = new Settings() { BasePath = this.cremaService.BasePath, Port = this.cremaService.Port, RepositoryModule = this.cremaService.RepositoryModule, RepositoryName = this.cremaService.RepositoryName, }; var parser = new CommandLineParser("setting", settings); parser.Parse(string.Join(" ", "setting", string.Join(" ", args))); this.cremaService.BasePath = settings.BasePath; this.cremaService.Port = settings.Port; this.cremaService.RepositoryModule = settings.RepositoryModule; this.cremaService.RepositoryName = settings.RepositoryName; CremaLog.Debug("========================================================="); CremaLog.Debug("new settings"); CremaLog.Debug("service base path : {0}", settings.BasePath); CremaLog.Debug("service port : {0}", settings.Port); CremaLog.Debug("service repo name : {0}", settings.RepositoryName); CremaLog.Debug("service repo module : {0}", settings.RepositoryModule); CremaLog.Debug("========================================================="); } } catch (Exception e) { CremaLog.Error(e); throw e; } CremaLog.Debug("service open"); this.cremaService.Open(); this.cremaHost = this.cremaService.CremaHost; this.cremaHost.Closed += CremaHost_Closed; CremaLog.Debug("service opened."); }
private void StopService() { CremaLog.Debug("service close"); this.cremaService.Close(); CremaLog.Debug("service closed."); if (IsMonoRuntime) { Environment.Exit(0); } }
private void CremaHost_Closed(object sender, ClosedEventArgs e) { CremaLog.Debug(nameof(CremaHost_Closed) + " " + e.Reason); if (e.Reason == CloseReason.Shutdown) { Task.Run(() => { Thread.Sleep(1000); this.Stop(); }); } }
protected override void OnStop() { base.OnStop(); CremaLog.Debug("service close"); this.cremaService.Close(); CremaLog.Debug("service closed."); if (IsMonoRuntime) { Environment.Exit(0); } }
protected override void OnCommitted(System.Collections.IDictionary savedState) { CremaLog.Debug(serviceInstaller.ServiceName); CremaLog.Debug("commit"); base.OnCommitted(savedState); CremaLog.Debug("committed"); using ServiceController controller = new ServiceController(serviceInstaller.ServiceName); try { if (controller.Status != ServiceControllerStatus.Running) { controller.Start(); controller.WaitForStatus(ServiceControllerStatus.Running); } } catch { throw; } }
public void Debug(object message) { CremaLog.Debug(message); }
protected override void OnStart(string[] args) { base.OnStart(args); try { var environmentCommandLineArgs = Environment.GetCommandLineArgs(); var baseArgs = IsMonoRuntime ? environmentCommandLineArgs.Skip(environmentCommandLineArgs.Length - MonoRuntimeCommandLineArgsCount - 1).Take(MonoRuntimeCommandLineArgsCount + 1).ToArray() : environmentCommandLineArgs; var path = baseArgs[1]; var port = int.Parse(baseArgs[2]); var httpPort = int.Parse(baseArgs[3]); this.cremaService = new CremaService() { BasePath = path, Port = port, HttpPort = httpPort }; CremaLog.Debug(args.Length); if (!IsMonoRuntime && args.Any()) { var settings = new Settings() { BasePath = this.cremaService.BasePath, Port = this.cremaService.Port, HttpPort = this.cremaService.HttpPort.Value, RepositoryModule = this.cremaService.RepositoryModule, RepositoryName = this.cremaService.RepositoryName, }; var parser = new CommandLineParser("setting", settings); parser.Parse(string.Join(" ", "setting", string.Join(" ", args))); this.cremaService.BasePath = settings.BasePath; this.cremaService.Port = settings.Port; this.cremaService.RepositoryModule = settings.RepositoryModule; this.cremaService.RepositoryName = settings.RepositoryName; CremaLog.Debug("========================================================="); CremaLog.Debug("new settings"); CremaLog.Debug("service base path : {0}", settings.BasePath); CremaLog.Debug("service port : {0}", settings.Port); CremaLog.Debug("service http port : {0}", settings.HttpPort); CremaLog.Debug("service repo name : {0}", settings.RepositoryName); CremaLog.Debug("service repo module : {0}", settings.RepositoryModule); CremaLog.Debug("========================================================="); } else if (args.Any()) { CremaLog.Debug("service base path : {0}", this.cremaService.BasePath); CremaLog.Debug("service port : {0}", this.cremaService.Port); CremaLog.Debug("service http port : {0}", this.cremaService.HttpPort ?? -1); CremaLog.Debug("service repo name : {0}", this.cremaService.RepositoryName); CremaLog.Debug("service repo module: {0}", this.cremaService.RepositoryModule); } } catch (Exception e) { CremaLog.Error(e); throw e; } CremaLog.Debug("service open"); this.cremaService.Open(); this.cremaHost = this.cremaService.CremaHost; this.cremaHost.Closed += CremaHost_Closed; CremaLog.Debug("service opened."); }
protected override void OnShutdown() { base.OnShutdown(); CremaLog.Debug("Computer shutdown."); StopService(); }