我做一个普通的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?
答案 0 :(得分:0)
为什么不创建一个变量,它可以回调和UI线程?