Создание нескольких таймеров с реактивными расширениями
У меня очень простой класс, который я использую для опроса каталога на наличие новых файлов. Это'У него есть местоположение, время начала мониторинга этого местоположения и интервал (в часах), когда нужно проверять снова:
public class Thing
{
public string Name {get; set;}
public Uri Uri { get; set;}
public DateTimeOffset StartTime {get; set;}
public double Interval {get; set;}
}
Я новичок в Reactive Extensions, но ясчитать это именно то, что нужно для работы здесь. Во время запуска и на каждом последующем интервале я просто хочу вызвать веб-сервис, который выполняет всю тяжелую работу - мыбуду использовать когда-либо изобретательскийpublic bool DoWork(Uri uri)
представлять это.
редактировать: DoWork - это вызов веб-службы, которая проверяет новые файлы и перемещает их при необходимости, поэтому его выполнение должно быть асинхронным. Возвращает истину, если она выполнена, ложь, если нет.
Все становится сложнее, если у меня есть целая коллекция этихThing
s. Я могу'обернуть голову вокруг того, как создатьObservable.Timer()
для каждого, и пусть все они вызывают один и тот же метод.
edit2: Observable.Timer (DateTimeOffset, Timespan) кажется идеальным для создания IObservable для того, что я 'Я пытаюсь сделать здесь. Мысли?