用linq to Observable 获取 WebResponse
privatevoid button1_Click(object sender, RoutedEventArgs e)
{
getUrl("http://www.cnblogs.com/therock").ObserveOnDispatcher().Subscribe(x =>
{
var ms = new MemoryStream();
x.GetResponseStream().CopyTo(ms);
string s = Encoding.UTF8.GetString(ms.GetBuffer());
this.Dispatcher.Invoke(new Action(() =>
{
MessageBox.Show(s);
}));
});
}
private IObservable<WebResponse> getUrl(string Url)
{
var httpWR =
(HttpWebRequest)WebRequest.Create(Url);
var getResponse =
Observable.FromAsyncPattern<WebResponse>(httpWR.BeginGetResponse, httpWR.EndGetResponse);
return getResponse();
}
浙公网安备 33010602011771号