Rx:将多个IObservable Web请求拼凑在一起

时间:2010-04-05 21:25:17

标签: c# asynchronous webrequest system.reactive

我正在使用IObservables和反应式扩展创建多个异步Web请求。

因此,这为“GET”网络请求创建了可观察性:

            var tweetObservalue =
            from request in WebRequestExtensions.CreateWebRequest(outUrl + querystring, method)
            from response in request.GetResponseAsync()
            let responseStream = response.GetResponseStream()
            let reader = new StreamReader(responseStream)
            select reader.ReadToEnd();

我能做到

tweetObservable.Subscribe(response => dosomethingwithresponse(response));

使用IObservables和LINQ执行多个异步Web请求的正确方法是什么,必须等到其他请求完成?

例如,首先我想验证用户信息:创建userInfoObservable,然后如果用户信息正确我想更新统计数据,所以我得到updateStatusObservable然后如果状态更新我想创建friendshipObservable等等。

同样是奖励问题,有一种情况我想同时执行网络电话,当所有人都完成后执行另一个观察,直到其他电话结束。

谢谢。

1 个答案:

答案 0 :(得分:0)