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

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, и он показывает, что клиент получает оба clientaccesspolicy.xml а также crossdomain.xml без проблем (HTTP-статус 200). Однако, после запроса этих файлов, клиент пытается позвонить в службу и сразу же получает CrossDomainException,

Я также попытался заставить системных администраторов добавить URL-адрес службы WCF в список "Разрешенные сайты" Internet Explorer на поле, на котором размещен клиент Silverlight (согласно последнему предложению последнего абзаца из http://blogs.msdn.com/b/fiddler/archive/2010/11/22/fiddler-and-silverlight-cross-zone-cross-domain-requests.aspx), но это тоже не сработало.

HALP!

1 ответ

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

Другие вопросы по тегам