POST后,将位图图像绑定到服务器的返回流

时间:2011-09-07 02:07:29

标签: windows-phone-7 httpwebrequest bitmapimage

我做一个普通的POST方法,服务器返回一个流,这是一个位图图像,然后我想将我的Image1设置为我得到的那个流:

        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'。

我理解为什么会出现这个错误,这是因为Stream response.Close();我使用Dispatcher。如果我不使用Dispatcher,它将给出无效的交叉线程。 如何将流设置为我的image1?

1 个答案:

答案 0 :(得分:0)

为什么不创建一个变量,它可以回调和UI线程?