1
当
我试图使用异步调用像这样从Internet下载图像:Windows Phone的C#,UnauthorizedAccessException创建的BitmapImage
private void DoGetAlbumart(object sender, DoWorkEventArgs e)
{
string req = (string)e.Argument;
WebClient wc = new WebClient();
wc.OpenReadCompleted += new OpenReadCompletedEventHandler(ReadWebRequestCallback);
wc.OpenReadAsync(new Uri(req));
}
void ReadWebRequestCallback(object sender, OpenReadCompletedEventArgs e)
{
if (e.Error == null && !e.Cancelled)
{
try
{
BitmapImage image = new BitmapImage();
image.SetSource(e.Result);
SecondTile.Source = image;
}
catch (Exception ex)
{
}
}
else
{
}
}
看来,当在BitmapImage的图像=新的BitmapImage()的断点,我得到了以下例外:
ex = {System.UnauthorizedAccessException:无效的跨线程访问。 在MS.Internal.XcpImports.CheckThread() 在System.Windows.DependencyObject..ctor(UInt32的nativeTypeIndex,IntPtr的constructDO) 在System.Windows.Media.Imaging.BitmapImage..ctor()
还有什么我可以尝试摆脱这个错误吗?