Windows phone 7 POST后将位图图像绑定到服务器返回流
我使用普通POST方法,服务器返回一个流,这是一个位图图像,然后我想将Image1设置为我得到的流:Windows phone 7 POST后将位图图像绑定到服务器返回流,windows-phone-7,httpwebrequest,bitmapimage,Windows Phone 7,Httpwebrequest,Bitmapimage,我使用普通POST方法,服务器返回一个流,这是一个位图图像,然后我想将Image1设置为我得到的流: private void GetResponseCallback(IAsyncResult asynchronousResult) { HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState; // End the operation
private void GetResponseCallback(IAsyncResult asynchronousResult)
{
HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState;
// End the operation
HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(asynchronousResult);
HttpStatusCode rcode = response.StatusCode;
Stream stream = response.GetResponseStream();
Dispatcher.BeginInvoke(() =>
{
var bi = new BitmapImage();
bi.SetSource(stream);
image1.Source = bi;
});
response.Close();
}
这将导致一个错误:无法访问已处置的对象。
对象名称:“MS.Internal.InternalMemoryStream”
我理解为什么会出现这个错误,因为流响应.Close;我使用调度器。如果我不使用Dispatcher,它将给出无效的交叉线程。
如何将流设置为我的image1?为什么不创建一个变量,该变量可用于回调和UI线程?您对流的意图是什么?首先将其用作XML字符串,然后尝试将其用作位图图像的源?这只是在堆栈溢出时“安全发布”吗?