Heim  >  Artikel  >  Web-Frontend  >  Warum erhalte ich die Antwort „405-Methode nicht zulässig“, wenn ich CORS auf IIS7 aktiviere?

Warum erhalte ich die Antwort „405-Methode nicht zulässig“, wenn ich CORS auf IIS7 aktiviere?

DDD
DDDOriginal
2024-10-26 19:58:30968Durchsuche

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

Aktivieren von Cross-Origin Resource Sharing (CORS) auf IIS7

Das Aktivieren von CORS auf IIS7 kann eine entmutigende Aufgabe sein, insbesondere wenn Sie auf unerwartete Ereignisse stoßen Verhalten wie die 405-Antwort vor der 200-Antwort. Ziel dieses Artikels ist es, Licht in dieses Problem zu bringen und effektive Lösungen bereitzustellen.

Umgang mit der 405-Antwort

Die Antwort „405-Methode nicht zulässig“ kann auftreten, wenn IIS7 die HTTP-OPTIONS abfängt Antrag anstelle Ihrer Bewerbung. Um dieses Problem zu beheben:

  1. Navigieren Sie zum Abschnitt „Handlerzuordnungen“ in IIS7.
  2. Suchen Sie den Eintrag „OPTIONSVerbHandler“.
  3. Ändern Sie die Einstellung „ProtocolSupportModule“ in „IsapiHandler“. .“
  4. Setzen Sie die ausführbare Datei auf „%windir%Microsoft.NETFrameworkv4.0.30319aspnet_isapi.dll.“

Alternative Lösung: Behandlung des OPTIONS-Verbs in BeginRequest

Wenn die oben genannten Schritte das Problem nicht beheben, können Sie das HTTP-OPTIONS-Verb in Ihrer BeginRequest-Methode wie folgt behandeln:

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();
    }
}

Das obige ist der detaillierte Inhalt vonWarum erhalte ich die Antwort „405-Methode nicht zulässig“, wenn ich CORS auf IIS7 aktiviere?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn