私はこれを持っています:
watchers
.ToObservable() // needs to be observable
.SelectMany(watcher => // working on each watcher
Observable
// create a timer for the watcher
.Timer(watcher.StartTime, TimeSpan.FromHours(watcher.Interval))
.SelectMany(Observable.FromAsync(
async () => new { watcher, result = await CheckFolder(watcher.Path) })))
.Subscribe(x => Console.WriteLine(string.Format("Watcher: {0}\tResult: {1}\tTime: {2}", x.watcher.Name, x.result, DateTimeOffset.Now))); // tell everyone what happened.
これは、私がこの道を歩み始めるきっかけとなった、この投稿の素敵なコードです。目標は、指定された開始時間と間隔に基づいて、 が公開 CheckFolder()
されるたびに(メソッドを介して) Web サービスに ping を実行することです。Timer
問題は、プログラムを実行するたびに、最初の Watcher に対して単一のメッセージが出力され、プログラムがエラーなしで終了することです。最初の回答を得て終了です。
すべてのタイマーからの他の出版物を待つにはどうすればよいですか?
この質問を正しい方法で行っていないことはほぼ間違いありませんが、少しのフィードバックが質問を改善するのに役立つことを願っています.
ありがとう。