2013-05-06 5 views
1

У меня есть решение, которое содержит проект Silverlight 4 и проект библиотеки классов WCF. , и я добавляю службу refrence службе WCF в проекте Silverlight (WCF не публикуется в IIS). Я стараюсь, чтобы вызвать службу из проекта Silverlight, это дает мне следующее исключение: ПроизошлаПотребление сервиса WCF от silverlight 4

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

Я пытаюсь решить эту проблему, добавив следующие два файла в проект библиотеки WCF

1) clientaccesspolicy.xml, который имеет следующий XML

<?xml version="1.0" encoding="utf-8"?> 
<access-policy> 
    <cross-domain-access> 
    <policy> 
     <allow-from http-request-headers="SOAPAction"> 
     <domain uri="*"/> 
     </allow-from> 
     <grant-to> 
     <resource path="/" include-subpaths="true"/> 
     </grant-to> 
    </policy> 
    </cross-domain-access> 
</access-policy> 

2) crossdomain.xml, который содержит следующий 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> 

затем построить проект проекта WCF и обновить службу поддержки в проекте silverlight t, но такое же исключение все еще существует.

Что мне делать, чтобы справиться с этим исключением? Должен ли я публиковать эту услугу? И это считается самообслуживание?

+0

Удалите существующую ссылку вручную и добавьте ее с новым именем! – Sajeetharan

+0

Где вы добавляли файл clientaccesspolicy.xml на сервер? – Stainedart

ответ

0

Поместите свой файл clientaccesspolicy.xml в корень iis. В примере к c: \ inetpub \ wwwroot

Смежные вопросы