"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Por que estou recebendo uma resposta do método 405 não permitido ao habilitar o CORS no IIS7?

Por que estou recebendo uma resposta do método 405 não permitido ao habilitar o CORS no IIS7?

Publicado em 23/12/2024
Navegar:292

Why Am I Getting a 405 Method Not Allowed Response When Enabling CORS on IIS7?

Habilitar o compartilhamento de recursos de origem cruzada (CORS) no IIS7

Habilitar o CORS no IIS7 pode ser uma tarefa difícil, especialmente se você encontrar problemas inesperados comportamento como a resposta 405 antes da resposta 200. Este artigo tem como objetivo esclarecer esse problema e fornecer soluções eficazes.

Abordando a resposta 405

A resposta do método 405 não permitido pode ocorrer quando o IIS7 intercepta as OPÇÕES HTTP solicitação em vez de sua aplicação. Para resolver isso:

  1. Navegue até a seção Mapeamentos de manipulador no IIS7.
  2. Localize a entrada "OPTIONSVerbHandler".
  3. Altere a configuração "ProtocolSupportModule" para "IsapiHandler ."
  4. Defina o executável como "%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll."

Solução alternativa: tratamento do verbo OPTIONS em BeginRequest

If as etapas acima não resolvem o problema, você pode manipular o verbo HTTP OPTIONS em seu método BeginRequest como segue:

protected void Application_BeginRequest(object sender, EventArgs e)
{
    HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*");

    if (HttpContext.Current.Request.HttpMethod == "OPTIONS")
    {
        // Pre-flight OPTIONS call
        HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE");
        HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "Content-Type, Accept");
        HttpContext.Current.Response.AddHeader("Access-Control-Max-Age", "1728000");
        HttpContext.Current.Response.End();
    }
}
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3