clientaccesspolicy.xml в Silverlight - PullRequest
       0

clientaccesspolicy.xml в Silverlight

1 голос
/ 04 сентября 2010

Я понимаю, что этот вопрос задавался 100 раз, но я просмотрел другие ответы и не могу найти решение, которое работает для меня.У меня есть проект SilverLight 4, который содержит службу WCF.каждый раз, когда я делаю запрос в службу, я получаю эту ошибку:

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

Я прочитал, что при локальном запуске мой проект не будет использовать IIS, поэтому бессмысленно добавлять clientaccesspolicy.xml в корень локального хоста, что будет бессмысленно(Я добавил это в любом случае на всякий случай).Что мне нужно сделать?

РЕДАКТИРОВАТЬ --- Это внутреннее исключение, которое я получаю

{System.Security.SecurityException: ошибка безопасности.в System.Net.Browser.BrowserHttpWebRequest.InternalEndGetResponse (IAsyncResult asyncResult) в System.Net.Browser.BrowserHttpWebRequest. <> c__DisplayClass5.b__4 (объект sendState) в System.Net.Browser.Async______0).}

Спасибо

Ответы [ 2 ]

1 голос
/ 04 сентября 2010

Похоже, вам нужно объединить проект веб-службы с проектом веб-сайта, который обслуживает клиентское приложение Silverlight.

0 голосов
/ 04 сентября 2010

Если приложение Silverlight обслуживается с сайта в другом домене, чем тот, на котором размещается служба WCF (если номер порта изменяется, это считается междоменным), вам нужно разместить clientaccesspolicy.xml в корне сайта, на котором размещена служба WCF, чтобы приложение Silverlight могло получить к нему доступ:

http://localhost:54998/clientaccesspolicy.xml

, а затем оно вызовет службу:

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