Не использовать сервис WCF из приложения silverlight - PullRequest
0 голосов
/ 01 марта 2011

Я написал несколько служб WCF, которые содержат один метод. Метод не получает никаких параметров - но возвращает строку.

Попробуйте вызвать эту службу через приложение silverlight - и я получаю исключение о «Политике междоменного доступа».

Я прогуглил его и обнаружил, что мне нужно добавить «clientaccesspolicy.xml» в корень службы (корневое приложение WCF) - так я и сделал… и все равно получить то же исключение.

(я использую .net 4.0, а мой сервис - IIS 7.5)

Спасибо за любую помощь.

1 Ответ

1 голос
/ 01 марта 2011

см .:
http://msdn.microsoft.com/en-us/library/cc645032%28VS.95%29.aspx

Вам может понадобиться crossdomain.xml, а также clientaccesspolicy.xml.

например. crossdomain.xml

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
  <allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>

и 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>

Также проверьте эту ссылку:
http://timheuer.com/blog/archive/2008/04/06/silverlight-cross-domain-policy-file-snippet-intellisense.aspx

Дважды проверьте, что нужные файлы находятся в правильном пути. Однажды у меня была эта проблема с flash-приложением, которое постоянно ломалось только потому, что xml-файл был в неправильном каталоге.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...