存在一个从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接口继承的类。此类的实例通过接口的实现创建。在此类的构造函数中,我为石英调用一个方法...
它不起作用,是因为构造器为空,因此我将其称为另一个实例。我需要进行反思,并在其他实例中调用我的方法。是工作