powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / WCF+Silvelright. Перестали вызываться WCF-методы
4 сообщений из 4, страница 1 из 1
WCF+Silvelright. Перестали вызываться WCF-методы
    #39706302
Фотография Renziglov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет
В моем Silverlight приложении я стал получать ошибку:

An error occurred while trying to make a request to URI 'https://mysite/Folder/WCFServices/MyService.svc'. This could be due to attempting to access a service in a cross-domain way without a proper cross-domain policy in place…

Началось, когда меня попросили изменить IIS конфигурацию и заменить Web site на Web Application. Ну, то есть внутри сайта создается аппликэйшн и ссылка ставится на ту же физическую папку, что и было до этого. В УРЛе добавляется имя папки, а номер порта остется одним и тем же для всех аппликейшенов. До этого улучшения все работало без проблем.
Файлы clientaccesspolicy и crossdomain я накопировал куда только не накопировал: root, sub-root, whatever-root. а также в саму папку сервисов WCFServices. Результат нулевой.

Еще кое-что: если вызываю проблемный сервис из серверного кода (Index.aspx.cs, синхронно), все работает. Как только вызываю из силверлайтного приложения – выбрасывает исключение, показанное выше.

Кроме того: для Silverlight вызова Fiddler показывает 200 – нет проблем, хотя проблема-то вот она, и показывает переключение на HTTP, хотя там никакого HTTP быть не должно, в web.config стоит только HTTPS конфигурация.

Почему сайт работат, а аппликейшн таки уже нет?
Спасибо.

ПС. Мне нравится этот компактный шрифтик у вас в редакторе. Что это за шрифт?
...
Рейтинг: 0 / 0
WCF+Silvelright. Перестали вызываться WCF-методы
    #39707629
256k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У вас cross-domain проблема, надо использовать "proper cross-domain policy".
Например, для WCF сервиса попробуйте использовать в корне файл

crossdomain.xml

автор<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>
...
Рейтинг: 0 / 0
WCF+Silvelright. Перестали вызываться WCF-методы
    #39708697
Фотография Renziglov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
256k,
Используются файлы:

clientaccesspolicy.xml

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
  <cross-domain-access>
    <policy>
      <allow-from http-request-headers="*">
        <domain uri="*"/>
        <domain uri="http://*"/>
        <domain uri="https://*"/>
      </allow-from>
      <grant-to>
        <resource path="/" include-subpaths="true"/>
      </grant-to>
    </policy>
  </cross-domain-access>
</access-policy> 



crossdomain.xml

Код: xml
1.
2.
3.
4.
5.
6.
7.
<?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="SOAPAction,Content-Type"/>
  <site-control permitted-cross-domain-policies="all"/>
  <allow-access-from domain="*"/>
</cross-domain-policy>



Оба файла помещены:

-В рут папку Web-сайта
-В рут папку Web-аппликэйшона
-В папку WCF сервисов

Эффект нулевой. Что еще нужно сделать?
...
Рейтинг: 0 / 0
WCF+Silvelright. Перестали вызываться WCF-методы
    #39709059
256k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Renziglov256k,
Используются файлы:

clientaccesspolicy.xml

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
  <cross-domain-access>
    <policy>
      <allow-from http-request-headers="*">
        <domain uri="*"/>
        <domain uri="http://*"/>
        <domain uri="https://*"/>
      </allow-from>
      <grant-to>
        <resource path="/" include-subpaths="true"/>
      </grant-to>
    </policy>
  </cross-domain-access>
</access-policy> 



crossdomain.xml

Код: xml
1.
2.
3.
4.
5.
6.
7.
<?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="SOAPAction,Content-Type"/>
  <site-control permitted-cross-domain-policies="all"/>
  <allow-access-from domain="*"/>
</cross-domain-policy>



Оба файла помещены:

-В рут папку Web-сайта
-В рут папку Web-аппликэйшона
-В папку WCF сервисов

Эффект нулевой. Что еще нужно сделать?

я бы попробовал использовать файлы со всеми разрешениями, типа такого, как я написал, и посмотреть, как сработает, затем постепенно добавлять ограничения.
Кроме того, я добавлял обработку кроссдоменных запросов в код сервиса, правда, для Рест запросов.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / WCF+Silvelright. Перестали вызываться WCF-методы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]