无法在Silverlight中加载外部图像 - “ag e network error”异常

时间:2010-07-28 16:25:50

标签: c# silverlight bitmapimage

我正在使用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事件。无论我做什么,我似乎都无法加载任何外部图像。我需要配置一些特殊的东西,或者它为什么不起作用? 感谢

2 个答案:

答案 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类型没有任何麻烦