【发布时间】:2010-04-05 21:25:17
【问题描述】:
我正在使用 IObservables 和响应式扩展创建多个异步 Web 请求。
所以这会为“GET”网络请求创建 observable:
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等等。
还有一个额外的问题,有一种情况我想同时执行网络调用,当所有调用都完成后执行另一个 observable,直到其他调用完成。
谢谢。
【问题讨论】:
标签: c# asynchronous webrequest system.reactive