最近我决定为 Windows Phone 7 使用 Rx(反应式扩展),我遇到了一些奇怪的行为。
例如,我有这段代码:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://whatismyip.org/");
request.Method = "GET";
var x = from c in Observable.FromAsyncPattern<WebResponse>(request.BeginGetResponse, request.EndGetResponse)()
select c;
WebResponse r = x.First();
Debug.WriteLine(r.ContentType.ToString());
我想弄清楚的是,为什么当我到达 LINQ 查询时,它会挂起 UI,并且不会比这更进一步。有任何想法吗?