CrossDomainError в том же домене - PullRequest
0 голосов
/ 25 августа 2009

Я учусь создавать приложения Silverlight 3, используя WCF для взаимодействия с серверной частью. Мы собираемся развернуть на IIS7 на Server2008 или Vista. Двоичные файлы клиента, а также двоичные файлы веб-службы находятся в одном веб-каталоге IIS. Когда я попадаю на главную страницу сервиса (http://localhost/MyService.svc), он возвращается очень хорошо. Когда я попадаю в приложение (http://localhost/index.html), я получаю свое приложение Silverlight. Статический материал рендерится очень хорошо, однако два поля я пытаюсь заполнить возврат с помощью CrossDomainError. Из того, что я понимаю, это происходит, когда вы обращаетесь к службе со страницы, размещенной в каком-либо другом домене. Я не верю, что я делаю это, если невольно.

Сообщение об исключении:

[CrossDomainError] Аргументы: http://localhost:2721/Service1.svc Строки ресурса отладки недоступны. Часто ключ и аргументы предоставляют достаточную информацию для диагностики проблемы. Смотрите [какой-то ужасный URL, который я не буду воспроизводить здесь, так как он все равно был бесполезен]

Я открыл порт 2721 как входящий, так и исходящий без эффекта.

Есть мысли?

Ответы [ 2 ]

2 голосов
/ 25 августа 2009

Чтобы считаться, что два документа имеют одинаковое происхождение, все должно быть одинаково: протокол (http / https), домен и порт.

Итак, если вы откроете http://localhost и попытаетесь сделать запрос к http://localhost:2721,, вы получите эту ошибку.

1 голос
/ 25 августа 2009

Вам необходимо иметь crossdomain.xml и / или clientaccesspolicy.xml в корне вашего сайта (crossdoomain.xml необходим для совместимости с флэш-памятью, оба работают с silverlight). Этот 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 path="/" include-subpaths="true" />
      </grant-to>
    </policy>
  </cross-domain-access>
</access-policy>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...