Я успешно создал и в настоящее время использую файл clientaccesspolicy.xml, чтобы показать мой WCF моему клиенту Silverlight с uri разрешенного домена http://*
. Я хотел бы усилить его, используя более конкретный URI, например http://www.foobar.com
или http://*.foobar.com
, но когда я использую эти Uris, я получаю исключения SecurityException в моем клиенте Silverlight.
Для справки, вот работающий в данный момент clientaccesspolicy.xml:
<?xml version="1.0" encoding="utf-8"?><br>
<access-policy><br>
<cross-domain-access><br>
<policy><br>
<allow-from http-request-headers="SOAPAction"><br>
<domain uri="http://*"/><br>
</allow-from><br>
<grant-to><br>
<resource path="/" include-subpaths="true"/><br>
</grant-to><br>
</policy><br>
</cross-domain-access><br>
</access-policy>
Я пытался изменить заголовки http-запроса на "*", но безрезультатно. И я убедился, что подстановочные знаки Uris (и пути к ресурсам) работают для меня при защите ресурсов, отличных от WCF, таких как .txts или .pngs. Мой clientaccesspolicy.xml находится в том же каталоге, что и .svc.
Я не могу использовать crossdomain.xml, так как он не позволяет использовать определенные Uris (см. http://msdn.microsoft.com/en-us/library/cc838250(VS.95).aspx).
Спасибо!