我正在使用Silverlight 4,我遇到了以下问题: 首先,代码:
BitmapImage bitmapImage = new BitmapImage();
bitmapImage.CreateOptions = BitmapCreateOptions.IgnoreImageCache;
bitmapImage.DownloadProgress += new EventHandler<DownloadProgressEventArgs>(bitmapImage_DownloadProgress);
bitmapImage.UriSource = new Uri("http://choteborsky.aspone.cz/Images/Label.png", UriKind.Absolute);
bitmapImage.ImageFailed += new EventHandler<ExceptionRoutedEventArgs>(bitmapImage_ImageFailed);
bitmapImage使用“ag e network exception”触发ImageFailed事件。无论我做什么,我似乎都无法加载任何外部图像。我需要配置一些特殊的东西,或者它为什么不起作用? 感谢
答案 0 :(得分:0)
托管映像的服务器需要具有crossdomain.xml文件,允许跨域请求。该文件大致应该如下:
<?xml version="1.0" encoding="utf-8" ?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers="*">
<domain uri="*" />
</allow-from>
<grant-to>
<resource include-subpaths="true" path="/" />
</grant-to>
</policy>
</cross-domain-access>
</access-policy>
这使它大开。
答案 1 :(得分:0)
好的,我能够找到解决方法。我没有尝试让SL客户端从我的ASP.NET应用程序的服务器上下载映像,而是使用WCF服务将数据直接流式传输到SL客户端,在那里我可以将它们重建为BitmapImage类型没有任何麻烦