Quartz.NET三级体系结构С#

问题描述 投票:-1回答:1

存在一个从IJob接口继承的类。此类的实例通过接口的实现创建。在此类的构造函数中,我调用一个方法来启动石英ExecuteTimeBuilder.Start();

public class CalculateManager : ICalculateManager, IJob
    {
        private readonly IStrongDataRepository _strongDataRepository;


        public CalculateManager(IStrongDataRepository strongDataRepository)
        {

            _strongDataRepository = strongDataRepository;

            ExecuteTimeBuilder.Start();
        }

        public async Task Execute(IJobExecutionContext context)
        {
            Console.WriteLine("HelloJob is executing.");
        }

Method .Start()

public static async void Start()
        {
            IScheduler scheduler = await StdSchedulerFactory.GetDefaultScheduler();
            await scheduler.Start();

            IJobDetail job = JobBuilder.Create<CalculateManager>()
                .Build();

            ITrigger trigger = TriggerBuilder.Create()  
                .WithIdentity("trigger1", "group1")     
                .StartNow()                           
                .WithSimpleSchedule(x => x           
                    .WithIntervalInSeconds(10)    
                    .RepeatForever())         
                .Build();        
            await scheduler.ScheduleJob(job, trigger);   
        }

Execute方法只是无法开始工作。这是控制台应用程序。Core3.0接口已在自定义StartUp类中注册]

public void ConfigureServices(IServiceCollection services)
        {
            services.AddLogging();
            services.AddSingleton<IConfigurationRoot>(Configuration);

            services.AddSingleton<IStrongDataRepository, StrongDataRepository>();

            services.AddSingleton<ICalculateManager, CalculateManager>();

            services.AddDbContext<ApplicationDBContext>(options =>
                options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
        }

为什么我的方法Task Execute(IJobExecutionContext context)没有显示生命迹象。它不打电话。

存在一个从IJob接口继承的类。此类的实例通过接口的实现创建。在此类的构造函数中,我为石英调用一个方法...

c# quartz-scheduler
1个回答
0
投票

它不起作用,是因为构造器为空,因此我将其称为另一个实例。我需要进行反思,并在其他实例中调用我的方法。是工作

© www.soinside.com 2019 - 2024. All rights reserved.