междоменные политики в Silverlight вне браузера - PullRequest
0 голосов
/ 25 марта 2011

У меня есть приложение silverlight, которое работает нормально.

Я пытаюсь использовать "Out of browser" и сталкиваюсь с несколькими проблемами. Во-первых, я не могу получить доступ к своим услугам.

Я получаю «Исключение тайм-аута», даже при простом обратном вызове службы «testString». Я на локальном хосте.

Так что я думаю, что, возможно, проблема с междоменными политиками.

Я пытался поставить это

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

в файле 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 path="/" include-subpaths="true"/>
      </grant-to>
    </policy>
  </cross-domain-access>
</access-policy>

Но ни в коем случае, я все еще получаю исключение TimeOut, а на стороне сервера моя точка останова не достигнута.

Так что я мог сделать не так?

Где именно я должен поместить эти файлы?

Поскольку у меня есть локальный IIS-сервер, на котором есть только один «Сайт», у этого сайта есть «приложение», а у моего приложения есть папка, содержащая службы, так на каком уровне я должен это поставить?

Большое спасибо

РЕДАКТИРОВАТЬ: На самом деле я не знаю, если это проблема кросс-политики или если это так, потому что, когда он находится в режиме вне браузера, он не может использовать режим аутентификации Windows (NTLM)

1 Ответ

0 голосов
/ 29 марта 2011

Я наконец-то обнаружил, в чем была проблема!

Это была проблема с серебряным светом:

На самом деле я делал вызов WCF в событии App.xaml.cs "ApplicationLoaded" иПолучив метод, я установил свой RootVisual.

И кажется, что, когда мы находимся в режиме Out-of-Browser, вы не можете сделать вызов WCF, пока RootVisual не был установлен.

Теперь я устанавливаю RootVisual, и когда RootVisual "Loaded", я выполняю мой запрос.и это работает!

...