междоменная проблема - PullRequest
       15

междоменная проблема

0 голосов
/ 02 декабря 2009

Я использую silverlight с wcf, и когда я использую проект .web, он запускается, но когда используется проект silver light для запуска следующих исключений:

Произошла ошибка при попытке сделать запрос к URI 'http://localhost:9000/Services/BLWCFSvrc.svc'. Это может быть связано с попыткой доступа к услуге междоменным способом без соответствующей междоменной политики или политики это не подходит для сервисов SOAP. Вам может потребоваться связаться с владельцем сервиса, чтобы опубликовать файл междоменной политики и убедиться, что он позволяет отправлять HTTP-заголовки, связанные с SOAP. Эта ошибка также может быть вызвана использованием внутренних типов в прокси-сервере веб-службы без использования атрибута InternalsVisibleToAttribute. Пожалуйста, смотрите внутреннее исключение для более подробной информации.

Я хочу использовать проект silverlight для отладки моего кода

Заранее спасибо

Ответы [ 3 ]

0 голосов
/ 02 декабря 2009

Просто скопируйте файл clientaccesspolicy.xml (например, посмотрите этот пост ; вы даже можете использовать этот пример) в корневой каталог вашего веб-сервера (например: с:. \ Inetpub \ Wwwroot \ )

Это должно помочь.

0 голосов
/ 04 декабря 2009

Я думаю, что ваша проблема в том, что просто наличие файла clientaccesspolicy.xml, то есть того, что он работает под веб-проектом, означает, что вы поставляете политики, если они добавлены в виде отдельных файлов в веб-проекте, то они не будут развертывается, когда вы запускаете приложение SL3 отдельно, но я уверен, что вы поняли это, и вы доставляете политики через WCF, используя привязку webHttp (стиль RESTful), если нет, вам следует.

Я думаю, что проблема в том, что когда вы запускаете веб-проект, он собирается на ваш локальный IIS и запускается оттуда, IIS позволит приложению SL3 взаимодействовать с портами / адресами, отличными от тех, которые размещены на сайте * 1003. *

когда вы запускаете приложение SL3 изначально, VS2008 автоматически генерирует тестовый html-сайт для его размещения с некоторыми настройками по умолчанию и использует встроенную службу хостинга VS2008, которая не разрешает связь с адресом / портом, отличным от указанного. адреса хостинга. (хотя Silverlight является клиентской библиотекой, VS2008 может сделать это)

поэтому, если вы хотите запускать приложение Silverlight «родным», то есть фактически выполнять XAP, вы можете развернуть его в IIS и настроить IIS для доставки файлов XAP, или просто установить и запустить его из браузера и позволить ему обновляться из IIS развернутая версия

0 голосов
/ 02 декабря 2009

Чтобы получить доступ к сетевым ресурсам из Silverlight, домен, на котором размещен ресурс, должен предоставить файл политики клиентского доступа; это разработано таким образом из соображений безопасности. Подробности смотрите здесь: http://msdn.microsoft.com/en-us/library/cc645032%28VS.95%29.aspx

...