"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Por qué recibo una respuesta de método 405 no permitido al habilitar CORS en IIS7?

¿Por qué recibo una respuesta de método 405 no permitido al habilitar CORS en IIS7?

Publicado el 2024-12-23
Navegar:693

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

Habilitar el uso compartido de recursos entre orígenes (CORS) en IIS7

Habilitar CORS en IIS7 puede ser una tarea desalentadora, especialmente si encuentra situaciones inesperadas. comportamiento como la respuesta 405 antes de la respuesta 200. Este artículo tiene como objetivo arrojar luz sobre este problema y proporcionar soluciones efectivas.

Abordar la respuesta 405

La respuesta Método 405 no permitido puede ocurrir cuando IIS7 intercepta las OPCIONES HTTP solicitud en lugar de su solicitud. Para resolver esto:

  1. Vaya a la sección Asignaciones de controladores en IIS7.
  2. Busque la entrada "OPTIONSVerbHandler".
  3. Cambie la configuración de "ProtocolSupportModule" a "IsapiHandler ."
  4. Establezca el ejecutable en "%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll."

Solución alternativa: manejo del verbo OPCIONES en BeginRequest

Si Los pasos anteriores no resuelven el problema, puede manejar el verbo OPCIONES HTTP en su método BeginRequest como siguiente:

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();
    }
}
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3