我们正在将我们的解决方案之一移植到 PCL,但在 NET 框架基类库的支持类和属性方面面临许多问题。为了使相同的功能在不同的平台上工作,我们实现了 WebClient,但我们在 WebRespornce 类中看不到状态代码属性。
在发布代码示例之前,让我强调一下我们目前的目标平台。
框架版本是 4.5,我们的目标平台是;Windows Phone 8 Windows 8 (RT) Windows 7/8 和 WPF 应用程序。
这是我们正在使用的代码,但云在 WebResponce 中找不到 StatusCode 属性
private static byte[] ReadStreamFromResponce(WebResponse result)
{
using (var responseStream = result.GetResponseStream())
using (var ms = new MemoryStream())
{
if (responseStream != null) responseStream.CopyTo(ms);
return ms.ToArray();
}
}
private static Task<byte[]> MakeAsyncRequest(string requestString)
{
var request = (HttpWebRequest)WebRequest.Create(requestString);
Task<WebResponse> requestTask = Task.Factory.FromAsync(
request.BeginGetResponse,
asyncResult => request.EndGetResponse(asyncResult),
null);
return requestTask.ContinueWith(t => ReadStreamFromResponce(t.Result));
}