“La ressource demandée n'a pas en charge la méthode http "OPTIONS" ” lors de l'utilisation de EnableCors

Je veux activer la SCRO sur une action spécifique dans un Asp.net l'Api Web. Voici comment je suis en train de le faire:

[Route("api/mycontroller/myaction")]
[HttpPost]
[EnableCors("https://example.com", "*", "post")]
public async Task<IHttpActionResult> MyAction()
{
    ...
}

Mais quand j'envoie une demande d'OPTIONS pour la route, je reçois en retour un message d'erreur: "La ressource demandée n'a pas en charge la méthode http "OPTIONS"." J'ai aussi essayé de supprimer les [HttpPost] annotation en vain.
Ce qui me manque?

  • hmmm, avez-vous essayé tout à l'envoi de la demande de POSTE et de ne pas les OPTIONS? Je pense que quand vous faites un SCRO demande, le navigateur ne les OPTIONS de trucs pour vous dans le fond (je peux me tromper, cependant).
  • La requête POST lui-même fonctionne, mais d'abord le navigateur envoie une requête OPTIONS et d'échec, de sorte qu'il ne se termine jamais jusqu'à l'envoi de la POSTE.
  • [EnableCors("example.com", "*", "post, options")]? Dites à l'action pour les OPTIONS d'acceptation des demandes ainsi que la POST
  • De même. Si j'ajoute l' [HttpOptions] annotation avec [HttpPost], je n'ai pas d'erreur mais alors il essaie d'exécuter la méthode d'action et veut autorisation. EnableCors est censé répondre à des OPTIONS de demande.
InformationsquelleAutor SZH | 2017-08-10