1

リンクのリストを含む単純な WPF アプリケーションがあります。それらのいくつかを選択し、それらを「監視可能なリスト」に追加して購読したいと思います。次に、オブザーバー コールバックがリンクをダウンロードし、スリープ中の場合は次のリンクに進みます。UI を更新して、アイテムが処理されたことをユーザーに知らせることもできます。

誰かがこれを行うのを手伝ってくれませんか

どうもありがとう。

4

1 に答える 1

2

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 );
于 2013-08-12T08:05:21.030 に答える