在C#上定期运行函数的最佳方法

时间:2017-05-26 21:41:29

标签: c# wpf dispatchertimer

在我的WPF应用程序中,其中一个假设是观察文件夹以捕获更改。

我的第一个想法是:

DispatcherTimer dt = new DispatcherTimer();
dt.Tick += (senderTick, eTick) =>
{
     // do observable folder
};
dt.Interval = new TimeSpan(0, 0, 1);
dt.Start();

该示例有效,但我不知道它是否是最佳解决方案。我的另一个想法是使用Reactive Extenison

var timer = Observable.Interval(Timespan.FromMilliseconds(1000));
timer.Subscribe(tick => OnSomeCondition());

但是,我不相信。 也许有更好的恶搞? 也许将一个单独的应用程序编写为可以执行此操作的Windows服务是个好主意。

1 个答案:

答案 0 :(得分:2)

运行Windows服务是一个想法,我想说这取决于你的情况。您考虑过IO FileSystemWatcher吗?