Hasta la salida de la Beta 2 de Silverlight, cuando queríamos con la Beta 1 realizar una llamada un Servicio Web o WCF sabíamos que debíamos de colorar los ficheros Crossdomain.xml o ClientAccessPolicy.xml en el raíz del Sitio Web donde estuviese el Servicio a consumir por Silverlight. Silverlight por defecto irá a buscar el fichero ClientAccessPolicy.xml y sino lo encuentra buscará el Crossdomain.xml
Si hacemos pruebas desde Silverlight Beta2, nos encontraremos que aun teniendo estos ficheros, recibimos el siguiente error depurando:
El formato del fichero ClientAccessPolicy.xml que teníamos hasta ahora con el que conseguíamos que funcionase era:
<?xml version="1.0" encoding="utf-8"?> <access-policy> <cross-domain-access> <policy> <allow-from> <domain uri="*"/> </allow-from> <grant-to> <resource path="/" include-subpaths="true"/> </grant-to> </policy> </cross-domain-access> </access-policy>
Pero para esta versión necesitamos realizar un sutil cambio en el fichero:
<?xml version="1.0" encoding="utf-8"?> <access-policy> <cross-domain-access> <policy> <allow-from http-request-headers="*"> <domain uri="*"/> </allow-from> <grant-to> <resource path="/" include-subpaths="true"/> </grant-to> </policy> </cross-domain-access> </access-policy>
Ahora si que funciona nuestro Silverlight.