„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > 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?

Veröffentlicht am 23.12.2024
Durchsuche:125

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

Das 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.

Behandeln 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.NET\Framework\v4.0.30319\aspnet_isapi.dll.“

Alternative Lösung: Umgang mit dem OPTIONS-Verb in BeginRequest

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

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

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3