我发现很难解决非常简单的任务:如何从我的远程服务器下载图像?
最简单的方法就是:
BitmapImage img = new BitmapImage(new Uri("http://myserv/test.jpg", UriKind.Absolute));
xamlImageContainer.Source = img;
但我认为这个解决方案并不理想,因为它会阻塞 UI 线程(可以吗?)。所以我决定使用“异步”方法:
async void LoadImage()
{
xamlImageContainer.Source = await Task.Run(() =>
{
return new BitmapImage(new Uri("http://myserv/test.jpg", UriKind.Absolute));
});
}
但是在线上return new BitmapImage
我得到了 UnauthorizedAccessException ,上面写着“无效的跨线程访问”!这里有什么问题,请提出建议。