このコード スニペットを使用して POST リクエストを送信しています。
public IObservable<string> BeginPost(Uri uri, string postData)
{
var request = HttpWebRequest.CreateHttp(uri);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
var fetchRequestStream = Observable.FromAsyncPattern<Stream>(request.BeginGetRequestStream, request.EndGetRequestStream);
var fetchResponse = Observable.FromAsyncPattern<WebResponse>(request.BeginGetResponse, request.EndGetResponse);
return fetchRequestStream().SelectMany(stream =>
{
using (var writer = new StreamWriter(stream)) writer.Write(postData);
return fetchResponse();
}).Select(result =>
{
var response = (HttpWebResponse)result;
string s = "";
if (response.StatusCode == HttpStatusCode.OK)
{
using (var reader = new StreamReader(response.GetResponseStream()))
s = reader.ReadToEnd();
}
return s;
});
}
IObservable
私は C# が初めてで、なぜこのインターフェイスを使用する必要があるのかよくわかりません。インターネット上でそれに関する情報を見つけようとしましたが、見つかりませんでした。
私が本当に必要としているのは、webservice から として応答をstring
取得することですIObservable<string>
。基本的に、どうすればそこstring
から取得できますか?
これは少しばかげた質問であることは承知していますが、これについて詳しく読むことができるサイトへのリンクもいただければ幸いです。