4

您是否知道任何允许您对一系列操作进行排序的 C# 库,即。每个动作在前一个动作完成时执行,或者更好的是,在特定时间间隔发生后执行。

谢谢你。

4

3 回答 3

2

计时尝试quartz.net。对于同步动作,使用例如。事件、等待句柄Monitor.Wait()Monitor.Pulse()...

否则你可以处理一组动作,例如

var methods = new List<Func>
{
    FooMethod1,
    FooMethod2
}
foreach (var method in methods)
{
    method.Invoke();
}

但这仅在您没有主持人方法(顺序处理)或您的方法不应该相互了解的情况下才有意义。

于 2010-12-13T00:11:42.683 回答
2

看看http://msdn.microsoft.com/en-us/library/dd537609.aspx

Task.ContinueWith 方法允许您指定在前面的任务完成时要启动的任务。

例子

var task = Task.Factory.StartNew(() => GetFileData())
                                       .ContinueWith((x) => Analyze(x.Result))
                                       .ContinueWith((y) => Summarize(y.Result));
于 2010-12-13T00:12:39.087 回答
0

对于计划任务,您正在寻找支持 cron 作业的库。这是我在一个项目中使用的一个。

http://blog.bobcravens.com/2009/10/an-event-based-cron-scheduled-job-in-c/

存在很多库。我发现许多功能丰富且有点沉重。

希望这可以帮助。

鲍勃

于 2010-12-13T00:37:38.267 回答