Error de seguridad de Cross Domain en Silverlight?
cross-domain yahoo-pipes (3)
Intento leer un feed de Yahoo Pipes en una aplicación de Silverlight. Sigo recibiendo una SecurityException, que suena como un problema de política de dominios cruzados, pero Yahoo pipes, si pasas por el dominio pipes.yahooapis, tiene una política de dominio cruzado, por lo que debería estar bien. Probé exactamente el mismo código, pero yendo a Digg API, y funciona bien (aunque esto es descanso en lugar de una fuente RSS). ¿Podría mi error no tener nada que ver con las políticas de Cross Domain?
Utilizo el siguiente código para la solicitud web:
WebClient wc = new WebClient();
wc.DownloadStringAsyncCompleted += new DownloadStringCompletedEventHandler(wc_DlStrCompleted);
wc.DownloadStringAsync(new Uri(yahooPipesUrl));
La excepción que recibo es una System.Security.SecurityException.
La url que estoy intentando es esta
El archivo de política crossdomain.xml en http://pipes.yahooapis.com/crossdomain.xml especifica solo las solicitudes seguras (https :) en el elemento allow-access-from. Consulte la documentación sobre el formato aquí :
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<site-control permitted-cross-domain-policies="master-only" />
<allow-access-from domain="*" secure="true" />
</cross-domain-policy>
El archivo de política en su lugar es:
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<site-control permitted-cross-domain-policies="master-only" />
<allow-access-from domain="*" />
</cross-domain-policy>
Existe un problema actual de que Silverlight no funciona con todo el formato de archivo de política de Flash Cross Domain ... Esperaría que el elemento de control del sitio lo esté rompiendo.
No hay un archivo de política de acceso de cliente en http://pipes.yahoo.com/crossdomain.xml o http://pipes.yahoo.com/clientaccesspolicy.xml
Por lo tanto, SecurityException es el comportamiento correcto.
¿Cuál es la URL exacta a la que intenta acceder?