2009-01-09 9 views
1

J'essaie de lire un flux de Yahoo Pipes dans une application Silverlight. Je continue d'obtenir une exception SecurityException, qui ressemble à un problème de politique interdomaine, mais les pipes Yahoo, si vous passez par le domaine pipes.yahooapis, ont une politique inter-domaines, donc ça devrait aller. J'ai essayé exactement le même code, mais en allant à l'API Digg, et cela fonctionne bien (bien que ce soit le repos plutôt qu'un flux rss). Est-ce que mon erreur n'a rien à voir avec les politiques de Cross Domain?Erreur de sécurité inter-domaine dans Silverlight?

J'utilise le code suivant pour la demande Web:

WebClient wc = new WebClient();  
wc.DownloadStringAsyncCompleted += new DownloadStringCompletedEventHandler(wc_DlStrCompleted);  
wc.DownloadStringAsync(new Uri(yahooPipesUrl)); 

L'exception que je reçois est un System.Security.SecurityException.

L'URL que je suis en train est celui

http://pipes.yahooapis.com/pipes/pipe.run?_id=4rBri9Ef3RG8CEGLLe2fWQ&_render=rss&feedUrl=http://feeds.feedburner.com/follesoe

+0

Code postal, détails d'exception, etc ...? –

Répondre

3

Le fichier politique en place est la suivante:

<!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> 

Il y a un problème actuel que Silverlight ne fonctionne pas avec tout le format de fichier de stratégie inter-domaines flash .. .Je m'attendrais à ce que l'élément de contrôle de site le brise.

+0

cela semble plausible. Merci! – Steve

1

Le fichier de règles crossdomain.xml à http://pipes.yahooapis.com/crossdomain.xml spécifie uniquement les demandes sécurisées (https :) dans l'élément allow-access-from. Consultez la documentation sur le format here:

<?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> 
+0

J'ai compris le secure = true différemment. Jetez un oeil à celui de l'API Digg, http://services.digg.com/crossdomain.xml. Aucun problème à lire ça. – Steve