我正在使用 Rx 框架来执行异步请求,这一切正常,但是我需要能够在请求/响应之间传递一个状态对象,因为一旦我处理了响应,我需要知道一些额外的信息仅在发出请求时才知道,因此我想以某种方式传入状态对象。
目前我正在使用一种方法:
public void ProcessGetRequest(WebRequest request, Action<WebResponse> handle, Action<Exception> error, int delaySeconds = 0)
{
request.Method = "GET";
Observable.FromAsyncPattern<WebResponse>(request.BeginGetResponse, request.EndGetResponse)().Delay(new TimeSpan(0, 0, delaySeconds)).ObserveOnDispatcher().SubscribeOnDispatcher().Subscribe(handle, error);
}
在 request.BeginGetResponse 方法上,我知道您可以传递一个状态对象,并通过返回的 IAsyncResult 对象访问该状态对象,但无法在上面的 Rx / Observable 框架中找到一种方法。有谁知道我该怎么做?