リンクのリストを含む単純な WPF アプリケーションがあります。それらのいくつかを選択し、それらを「監視可能なリスト」に追加して購読したいと思います。次に、オブザーバー コールバックがリンクをダウンロードし、スリープ中の場合は次のリンクに進みます。UI を更新して、アイテムが処理されたことをユーザーに知らせることもできます。
誰かがこれを行うのを手伝ってくれませんか
どうもありがとう。
リンクのリストを含む単純な WPF アプリケーションがあります。それらのいくつかを選択し、それらを「監視可能なリスト」に追加して購読したいと思います。次に、オブザーバー コールバックがリンクをダウンロードし、スリープ中の場合は次のリンクに進みます。UI を更新して、アイテムが処理されたことをユーザーに知らせることもできます。
誰かがこれを行うのを手伝ってくれませんか
どうもありがとう。
Observable.FromEventPatternを使用して、最初にリンク選択イベントのリスト ボックスを Uri の Observable に変換します。
次に、リンクをダウンロードするための拡張メソッドを作成します。
public static IObservable<bool> DownloadLink(this IObservable<Uri> source)
{
return Observable.Create<bool>(observer =>
{
return source
.Subscribe(onNext: async link =>
{
using (var client = new System.Net.Http.HttpClient())
{
var result = await client.GetStringAsync(link);
if (isSuccess)
observer.OnNext(true);
else
observer.OnNext(false);
}
}, onError: observer.OnError, onCompleted: observer.OnCompleted);
});
}
最後に、それを接続します。
uriObservable.DownloadLink().ObserveOnDispatcher().Subscribe( // update ui logic here );