Невозможно загрузить внешнее изображение в Silverlight - исключение «ошибка сети» - PullRequest
1 голос
/ 28 июля 2010

Я использую 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 запускает событие ImageFailed с «сетевым исключением». Кажется, я не могу загрузить какие-либо внешние изображения, независимо от того, что я делаю. Есть ли что-то особенное, что мне нужно настроить или почему оно не работает? Спасибо

Ответы [ 2 ]

0 голосов
/ 28 июля 2010

Хорошо, я смог найти обходное решение. Вместо того чтобы пытаться заставить клиента SL загрузить изображение с сервера, на котором находится мое приложение ASP.NET, я использую службу WCF для потоковой передачи данных непосредственно клиенту SL, где я могу преобразовать их в тип BitmapImage без проблем

0 голосов
/ 28 июля 2010

Сервер, на котором размещено изображение, должен иметь файл 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>

Это делает его широко открытым.

...