public static void Configure(HostConfigurator config) { // http://docs.topshelf-project.com/en/latest/ Logger.Debug("Configuring windows service"); config.Service <WindowsService>(ConfigureServiceClass); // prompt for credentials - Sys Admins will need to type password for SchTasks.Admin user config.RunAsPrompt(); config.SetDescription("Cyrus MicroServices Background Processing (Multiple Mini-Apps)"); config.SetDisplayName("Cyrus MicroServices"); config.SetServiceName("Cyrus.MicroServices"); //TODO: windows service settings //config.SetDescription(AppSettings.Default.WindowsService.Description); //config.SetDisplayName(AppSettings.Default.WindowsService.DisplayName); //config.SetServiceName(AppSettings.Default.WindowsService.Name); config.StartAutomatically(); config.UseNLog(); config.EnableServiceRecovery(rc => { rc.RestartService(delayInMinutes: 2); //rc.RestartService(AppSettings.Default.WindowsService.RecoverRestartAfterMins); }); Logger.Debug("Windows service configured"); }
public static void Configure(HostConfigurator config) { // http://docs.topshelf-project.com/en/latest/ Logger.Debug("Configuring windows service"); config.Service<WindowsService>(ConfigureServiceClass); // prompt for credentials - Sys Admins will need to type password for SchTasks.Admin user config.RunAsPrompt(); config.SetDescription("Cyrus MicroServices Background Processing (Multiple Mini-Apps)"); config.SetDisplayName("Cyrus MicroServices"); config.SetServiceName("Cyrus.MicroServices"); //TODO: windows service settings //config.SetDescription(AppSettings.Default.WindowsService.Description); //config.SetDisplayName(AppSettings.Default.WindowsService.DisplayName); //config.SetServiceName(AppSettings.Default.WindowsService.Name); config.StartAutomatically(); config.UseNLog(); config.EnableServiceRecovery(rc => { rc.RestartService(delayInMinutes: 2); //rc.RestartService(AppSettings.Default.WindowsService.RecoverRestartAfterMins); }); Logger.Debug("Windows service configured"); }
private void SetServiceRunAs(HostConfigurator x) { switch (ServiceRunAs) { case ServiceRunAs.LocalService: x.RunAsLocalService(); break; case ServiceRunAs.LocalSystem: x.RunAsLocalSystem(); break; case ServiceRunAs.NetworkService: x.RunAsNetworkService(); break; case ServiceRunAs.Prompt: x.RunAsPrompt(); break; case ServiceRunAs.UserLogin: x.RunAs(UserName, UserPassword); break; } }
private void CreateServiceConfiguration(HostConfigurator x) { var config = container.Resolve<RendezvousConfiguration>(); x.Service<IRendezvousService>(s => { s.ConstructUsing(_ => CreateServiceInstance()); s.WhenStarted(rs => rs.Start()); s.WhenStopped(ServiceStop); }); x.RunAsPrompt(); x.SetServiceName(config.ServiceName); x.SetDisplayName(config.ServiceName); x.SetDescription($"{config.ServiceName} Service"); }
private static void SetRunAs(HostConfigurator host, T businessService) { switch (businessService.RunAs) { case ServiceRunAs.LocalService: host.RunAsLocalService(); break; case ServiceRunAs.LocalSystem: host.RunAsLocalSystem(); break; case ServiceRunAs.NetworkService: host.RunAsNetworkService(); break; case ServiceRunAs.Prompt: host.RunAsPrompt(); break; } }
/// <summary> /// Configure /// </summary> /// <param name="hostCfg"></param> /// <returns></returns> public HostConfigurator Configure(ref HostConfigurator hostCfg) { #region 设置运行模式 switch (RunAs) { case ServiceAccount.LocalService: hostCfg.RunAsLocalService(); break; case ServiceAccount.LocalSystem: hostCfg.RunAsLocalSystem(); break; case ServiceAccount.NetworkService: hostCfg.RunAsNetworkService(); break; case ServiceAccount.User: hostCfg.RunAs(UserName, Password); break; default: hostCfg.RunAsPrompt(); break; } #endregion #region 设置启动模式 switch (StartMode) { case HostStartMode.AutomaticDelayed: hostCfg.StartAutomaticallyDelayed(); break; case HostStartMode.Disabled: break; case HostStartMode.Manual: hostCfg.StartManually(); break; default: hostCfg.StartAutomatically(); break; } #endregion #region 设置服务基础信息 hostCfg.SetServiceName(ServiceName); hostCfg.SetInstanceName(InstanceName); hostCfg.SetDescription(ServiceDescription); hostCfg.SetDisplayName(ServiceDisplayName); #endregion return(hostCfg); }
public void ApplyTo(HostConfigurator configurator) { configurator.RunAsPrompt(); }