Je préférerais éviter d'entrer dans un débat pour savoir si les verbes HTTP PUT et DELETE sont appropriés ou obsolètes et se concentrer sur la question de réellement faire fonctionner Silverlight lorsque "forcé" à utiliser ces verbes.Comment faire fonctionner HTTP PUT et DELETE dans Silverlight 4
J'essaie de créer une application client Silverlight 4 qui appelle un service Web REST existant qui a des opérations pour les verbes PUT et DELETE. Ce service ne va pas changer.
J'ai ajouté la déclaration suivante dans le constructeur dans mes App.xaml.cs:
WebRequest.RegisterPrefix("http://", WebRequestCreator.ClientHttp);
Le service a un fichier qui contient clientaccesspolicy.xml:
<?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>
J'utilise le Classe WebClient pour gérer les requêtes GET et POST. Quand je tente de faire la même chose avec PUT ou DELETE pour le verbe/méthode, j'obtiens une "erreur de sécurité" ambiguë qui m'a conduit à ajouter la déclaration ci-dessus.
J'ai vu divers messages et articles de blog parler de l'utilisation de HttpWebRequest pour contourner ce problème, mais je n'en ai pas trouvé un qui montre réellement comment faire ces appels (asynchrones) à partir d'un client Silverlight.
S'il y a un problème avec le code ci-dessus, s'il vous plaît faites le moi savoir. Sinon, si vous pouvez me montrer ou me montrer un exemple démontrant comment ces demandes peuvent être mises en œuvre, j'apprécierais grandement l'aide.
Peut-être que si vous nous a montré le "code" qui utilise HttpWebRequest – AnthonyWJones