私はHttpWebRequest POSTメソッドの結果をReactiveインターフェイスIObservable経由で返す単一のメソッドを試みています。HttpWebRequest POSTメソッドの結果をIObservableインターフェイス経由で返すことは可能ですか
var request = (HttpWebRequest)WebRequestCreator.ClientHttp.Create(url);
request.Method = method;
request.Accept = GetHttpType();
request.CookieContainer = new CookieContainer();
return Observable.FromAsyncPattern(request.BeginGetResponse, ar => ProcessResponse(method, ar, request))()
.Select(r => r);
をしかし、私はどのように一緒にチェーンが必要です応答ストリームの読み取りを要求ストリームに書き込むの非同期オブザーバーをするわからない午前:私は以下のコードを使用して、GETメソッドのためにこれを行うことができましたHTTP POST操作の場合どのように行うには、次の変数を接続obs1
& obs2
私はobs2を返すことができるように一緒に?
var request = (HttpWebRequest)WebRequestCreator.ClientHttp.Create(url);
var type = GetHttpType();
request.Method = method;
request.Accept = type;
request.ContentType = type;
request.CookieContainer = new CookieContainer();
var data = Serialize(requestResource);
var obs1 = Observable.FromAsyncPattern(request.BeginGetRequestStream, ar1 => ProcessRequest(method, data, ar1, request))
var obs2 = Observable.FromAsyncPattern(request.BeginGetResponse, ar2 => ProcessResponse(method, ar2, request))();
// How do I connect obs1 And obs2 together...
return obs2;
私は誰がなぜ知っている、次のように動作するはずと思っているだろうが、「ProcessResponse」メソッドが呼び出されることはありませんか?
var obs1 = Observable.FromAsyncPattern(request.BeginGetRequestStream, ar1 => ProcessRequest(method, data, ar1, request))();
var obs2 = Observable.FromAsyncPattern(request.BeginGetResponse, ar2 => ProcessResponse(method, ar2, request));
return obs1.SelectMany(a => obs2(), (a, b) => b);
彼らは同じタイプではないので、私は連結できません。どうもありがとうございます – AwkwardCoder
申し訳ありませんが、私は当時注目されていませんでした。私は今からヒップから火を使わないようにしようと思うでしょう:) – rawpower