Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 计划作业计划以特定毫秒为单位_C#_Scheduled Tasks - Fatal编程技术网

C# 计划作业计划以特定毫秒为单位

C# 计划作业计划以特定毫秒为单位,c#,scheduled-tasks,C#,Scheduled Tasks,如何在特定毫秒内完成作业? 我想在02:00:00.200.200、02:00:00.400、02:00:00.600和。这在C#中可能吗? 工作可能需要更长的时间。他们能按时完成吗?例如,在后台运行?您可以尝试使用winmm.dll timeBeginPeriod函数调用来提高计时器精度 查看此链接以了解更多信息@jdweng我使用以下代码,但这项工作不是在200、400、600等毫秒内完成的。时间表也从2:0:0.500开始 StdSchedulerFactory factory = new

如何在特定毫秒内完成作业? 我想在02:00:00.200.200、02:00:00.400、02:00:00.600和。这在C#中可能吗?
工作可能需要更长的时间。他们能按时完成吗?例如,在后台运行?

您可以尝试使用winmm.dll timeBeginPeriod函数调用来提高计时器精度


查看此链接以了解更多信息

@jdweng我使用以下代码,但这项工作不是在200、400、600等毫秒内完成的。时间表也从2:0:0.500开始

StdSchedulerFactory factory = new StdSchedulerFactory();
IScheduler scheduler = await factory.GetScheduler();

await scheduler.Start();
IJobDetail job = JobBuilder.Create<HelloJob>()
    .WithIdentity("job1", "group1")
    .Build();
ITrigger trigger = TriggerBuilder.Create()
    .WithIdentity("trigger1", "group1")
    .StartAt(DateBuilder.DateOf(2, 0, 0))
    .WithSimpleSchedule(x => x
                        .WithInterval(TimeSpan.FromMilliseconds(200))
                        .WithRepeatCount(5))
    .Build();

await scheduler.ScheduleJob(job, trigger);

await Task.Delay(TimeSpan.FromSeconds(60));

await scheduler.Shutdown();
StdSchedulerFactory=new StdSchedulerFactory();
isScheduler scheduler=wait factory.GetScheduler();
wait scheduler.Start();
IJobDetail job=JobBuilder.Create()
.WithIdentity(“工作1”、“组1”)
.Build();
ITrigger trigger=TriggerBuilder.Create()
.WithIdentity(“触发器1”、“组1”)
.StartAt(DateBuilder.DateOf(2,0,0))
.使用SimpleSchedule(x=>x
.WithInterval(时间跨度从毫秒(200))
.带重复计数(5))
.Build();
wait scheduler.ScheduleJob(作业,触发器);
等待任务延迟(时间跨度从秒(60));
wait scheduler.Shutdown();

它是一个日期时间对象。新的日期时间(年、月、日、小时、分钟、秒、毫秒)你能告诉我们你已经拥有或计划做什么吗?当处理这种性质的事情时,人们会写下他们想如何完成任务。听起来你想在后台运行,但是时间太短了,一个任务可能没有意义。通常,在使用后台任务计划程序时,持续时间会扩展为分钟、小时和天。听起来好像你需要一项服务。我想在KevinBBurnsI使用quartz时执行此操作,但它没有WithIntervalinMillingSeconds方法@jdwengar。你在做任何类型的日志记录吗?你怎么知道这不是解雇工作?好的看起来不错,理论上应该没有问题。作业不会在我喜欢的时间运行。例如,我希望在2:0:0.200和2:0:0.400等时间完成,但所有作业都在2:0:0900(例如)@KevinBBurns完成