Tworzenie wielu timerów z reaktywnymi rozszerzeniami

Mam bardzo prostą klasę, której używam do odpytywania katalogu o nowe pliki. Ma lokalizację, czas na rozpoczęcie monitorowania tej lokalizacji oraz przedział czasu (w godzinach), kiedy należy ponownie sprawdzić:

public class Thing
{
  public string         Name {get; set;}
  public Uri            Uri { get; set;}
  public DateTimeOffset StartTime {get; set;}
  public double         Interval {get; set;}
}

Jestem nowym użytkownikiem Reactive Extensions, ale jamyśleć jest to właściwe narzędzie do pracy tutaj. W momencie rozpoczęcia i po każdym kolejnym interwale po prostu chcę zadzwonić do serwisu internetowego, który wykonuje wszystkie ciężkie prace - użyjemy zawsze wynalazczegopublic bool DoWork(Uri uri) reprezentować to.

edytować: DoWork to połączenie z usługą internetową, która sprawdzi nowe pliki i przeniesie je w razie potrzeby, więc jego wykonanie powinno być asynchroniczne. Zwraca true, jeśli jest zakończone, false, jeśli nie.

Sprawy komplikują się, jeśli mam całą ich kolekcjęThings. Nie mogę owinąć głowy, jak stworzyćObservable.Timer() dla każdego z nich i niech wszystkie nazywają tę samą metodą.

edytuj2: Observable.Timer (DateTimeOffset, Timespan) wydaje się idealny do utworzenia IObservable dla tego, co próbuję tutaj zrobić. Myśli?

questionAnswers(3)

yourAnswerToTheQuestion