第一次执行完成后,Topshelf服务未自动运行

时间:2019-07-02 06:55:35

标签: c# windows-services topshelf

我有一项服务,该服务应在每次完成后运行,但是topshelf托管的Windows服务在我启动该服务时会运行一次,但永远不会再次运行?

我需要配置一些东西吗?

我当前的配置是

namespace RL.Reprice
{
    class Program
    {
        public static void Main()
        {
            HostFactory.Run(serviceConfig =>
            {
                log4net.Config.XmlConfigurator.Configure();
                serviceConfig.UseLog4Net();

                serviceConfig.Service<RepriceBook>(serviceInstance =>
                {
                    serviceInstance.ConstructUsing(
                        () => new RepriceBook());

                    serviceInstance.WhenStarted(
                        execute => execute.Start());

                    serviceInstance.WhenStopped(
                        execute => execute.Stop());

                    //    serviceInstance.WhenPaused(
                    //        execute => execute.Pause());

                    //    serviceInstance.WhenContinued(
                    //        execute => execute.Continue());
                });

                serviceConfig.EnableServiceRecovery(recoveryOption =>
                {
                    recoveryOption.RestartService(2);
                });

                serviceConfig.SetServiceName("RepriceService");
                serviceConfig.SetDisplayName("Reprice Book");
                serviceConfig.SetDescription("This is Repricer");

                serviceConfig.StartAutomatically();
            });                                   
        }
    }
}

1 个答案:

答案 0 :(得分:0)

使用Quartz.Net重复运行任务。