Междоменная исключительная ситуация Silverlight-to-WCF, но файл clientaccesspolicy.xml успешно читается - PullRequest
2 голосов
/ 29 июля 2011

clientaccesspolicy.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>

crossdomain.xml:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy>
<cross-domain-policy>
  <allow-http-request-headers-from domain="*" headers="*" secure="true" />
</cross-domain-policy>

Ничего особенного в этом нет, это стандартная настройка, которую миллионы сервисов WCF используют для доступа к ним клиентов Silverlight. К сожалению, эта установка не работает в реальной среде, в которой я развернут. Предварительная производственная среда, используемая для тестирования развертывания, настроена идентично для работы (или так утверждают системные администраторы), и там все прекрасно работает, поэтому я так растерялся.

У меня был один из системных администраторов, который отслеживал запрос от клиента Silverlight с использованием HTTPDebuggerPro, и он показывает, что клиент получает и 1011 *, и crossdomain.xml без проблем (состояние HTTP 200). Тем не менее, после запроса этих файлов клиент пытается позвонить в службу и сразу получает CrossDomainException.

Я также пытался заставить системных администраторов добавить URL-адрес службы WCF в список «Разрешенные сайты» Internet Explorer на поле, на котором размещен клиент Silverlight (согласно последнему предложению последнего абзаца из * 1017). * но это тоже не сработало.

HALP!

1 Ответ

0 голосов
/ 29 июля 2011

Находится ли clientaccesspolicy.xml в корне вашего домена?

...