Le soutien de la SCRO pour les METTRE et de les SUPPRIMER avec ASP.NET Web API
Je travaille avec la version finale de ASP.NET l'API Web pour mettre en œuvre un JavaScript respectueux de l'API. Par les différents tutoriels, j'ai activé la SCRO dans mon web.config:
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type" />
</customHeaders>
</httpProtocol>
</system.webServer>
Avec ce qui précède, la croix-domaine GET et POST demandes de bien fonctionner, mais les requêtes PUT et DELETE les deux échouent.
Dans Google Chrome:
Méthode n'est pas autorisée par Access-Control-Allow-Méthodes.
Méthode de SUPPRESSION n'est pas possible d'Access-Control-Allow-Méthodes.
Est-il quelque chose de supplémentaire requis pour obtenir le PUT et DELETE verbes de travail inter-domaine?
- Comment avez-vous activé la SCRO dans votre webconfig ?
- Avez-vous un mondial de la SCRO gestionnaire aswell? Ou avez-vous corrigé de la SCRO sur le web.config seulement?
- Je l'ai fait sur le web.config niveau seulement.
Vous devez vous connecter pour publier un commentaire.
Il regarde comme l'ajout d'un autre en-tête personnalisé il triés:
Aussi, en plus de Nathan réponse, assurez-vous que vous avez désactivé WebDAV module IIS et définir
runAllManagedModulesForAllRequests="true"
paramètre dans le web.config:Sans cela, contrôle en amont de la SCRO demandes (qui sont utilisés pour METTRE, SUPPRIMER les méthodes et les envoyer d'autres OPTIONS de demande) ne fonctionnera pas.
WebDAV
gestionnaire de le faire, et pourquoi faut-il l'enlever?Solution très simple à surmonter la SCRO Problème dans WEBAPI2.2.
Ajoutez la ligne suivante dans vous WebApi Fichier de Config.
Avant l'ajout de cette assurez-vous de supprimer l'en-tête personnalisé dans le Web.fichier de configuration.
Si vous avez à la fois customheader ainsi de la SCRO activé dans WebApiconfig, vous serez face à la scro erreur.
Ajouter de la scro activé dans WebApi config permettra de résoudre le problème.
The 'Access-Control-Allow-Origin' header contains multiple values 'http://localhost:1234, *', but only one is allowed.
erreur.EnableCorsAttribute
de la classe: nuget.org/packages/Microsoft.AspNet.WebApi.CorsMerci d'utiliser ce site web.config alors que vous avez déployé votre application,ne pas utiliser dans un site web local.config
Essayer de commenter la ligne:
<remove name="OPTIONSVerbHandler" />
dans<handlers>
tag