我想发布一个 Http 帖子并从 Windows Phone App 获得响应...这是我在 ASP.net 中的做法。
string strUrl = "http://.....";
WebRequest request = HttpWebRequest.Create(strUrl);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream s = (Stream)response.GetResponseStream();
StreamReader readStream = new StreamReader( s );
string dataString = readStream.ReadToEnd();
response.Close();
s.Close();
readStream.Close();
但是我不能这样做,因为它给出了一个错误,即 GetResponse 方法不能在 Silverlight 项目中使用。什么是替代方案,我该怎么做?
大多数导致阻塞行为的方法已从WP/Silverlight API中删除(这里的想法不是给开发人员任何无意中锁定UI的机会)。
同步 IO 属于此类别。
您需要使用以下方法重写async
方法:
public async Task<SomeReturnType> MyMethod()
{
//...
HttpWebResponse response =
(HttpWebResponse)(await request.GetResponseAsync());
//...
}