在WP7项目中找不到HttpWebRequest.GetResponse()

我正在尝试使用HttpWebRequest发送GET请求。
我在网上找到了很多例子(例如, 这一个 ……只需要转到Scrape()方法)。 他们基本上都做同样的事情:

使用WebRequest.Create(URL)创建HttpWebRequest对象并将其强制转换为HttpWebRequest ,然后使用HttpWebRequestGetResponse()方法获取响应。

事实上, GetResponse()似乎不存在于HttpWebRequestWebRequest (它是它的基类)中。 我唯一的选择是使用BeginGetResponse()

我发现的唯一事情是GetResponse()是同步的,而BeginGetResponse()是异步的,而Silverlight只允许异步的。 好吧,这根本没有帮助,因为整个事情是一个XNA项目,这是我在里面创建的一个简单的C#类。
更确切地说,这是一款在XNA 4.0中创建的Windows Phone游戏

 HttpWebRequest webRequest = WebRequest.Create(URL) as HttpWebRequest; StreamReader responseReader = new StreamReader( webRequest.GetResponse().GetResponseStream()); 

有没有人知道为什么我没有GetResponse()

用于Windows Phone 7的XNA 4只能进行异步调用。 您可能会发现本文底部的代码也很有用。

该post的代码:

 protected override void Initialize() { string webServiceAddress = @"http://localhost/service/service1.asmx"; string methodName = "HelloWorld"; string webServiceMethodUri = string.Format("{0}/{1}", webServiceAddress, methodName); HttpWebRequest httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(webServiceMethodUri); httpWebRequest.Method = "POST"; httpWebRequest.BeginGetResponse(Response_Completed, httpWebRequest); base.Initialize(); } void Response_Completed(IAsyncResult result) { HttpWebRequest request = (HttpWebRequest)result.AsyncState; HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(result); using (StreamReader streamReader = new StreamReader(response.GetResponseStream())) { string xml = streamReader.ReadToEnd(); using(XmlReader reader = XmlReader.Create(new StringReader(xml))) { reader.MoveToContent(); reader.GetAttribute(0); reader.MoveToContent(); message = reader.ReadInnerXml(); } } }