Aktivieren Sie CORS für Web API 1, .net 4.0

8

Ich muss CORS für meine Web-API aktivieren und kann momentan nicht auf Framework 4.5 aktualisieren. (Ich kenne System.Web.Http.Cors.EnableCorsAttribute.)

Ich habe versucht, meiner Web.config folgendes hinzuzufügen, um zu sehen, ob es funktioniert hat, aber nicht:

%Vor%

Ich habe auch versucht, den Access-Control-Allow-Origin-Header manuell auf "*" durch Verwendung von System.Web.Http.Filters.ActionFilterAttribute (basierend auf diesem Post: Add eigenen Header zu allen Antworten in Web-API ) - aber das hat nicht geklappt Entweder wird die Anfrage abgelehnt, bevor sie zur Filterung der Aktion gelangt.

Also bin ich jetzt irgendwie festgefahren. Jede Hilfe ist willkommen.

Bearbeiten: Stellt sich heraus

%Vor%

war die Antwort die ganze Zeit, ich muss vorher etwas falsch gemacht haben, als ich es getestet habe. Aber diese Lösung bedeutet, dass alle Aktionen CORS-fähig sind (was vorerst funktioniert).

    
nednull 22.10.2014, 11:22
quelle

3 Antworten

7

versuche auch Folgendes hinzuzufügen:

%Vor%     
Marian Ban 22.10.2014, 11:25
quelle
9

POST, PUT, DELETE, usw. verwenden CORORS mit Vorlauf. Der Browser sendet eine OPTIONS-Anfrage. Dies liegt daran, dass der Browser zuerst prüft, ob serverside mit CORS umgehen kann oder nicht OPTIONS request verwendet, wenn er erfolgreich ist, und dann die tatsächliche Anfrage PUT oder POST oder Delete sendet. Da Sie keine Aktionsmethode haben, die OPTIONS handhabt, erhalten Sie eine 405. In ihrer einfachsten Form müssen Sie eine solche Aktionsmethode in Ihrem Controller implementieren.

Weitere Erklärung - Ссылка

Ссылка

%Vor%

Hinweis: Diese Aktion reagiert nur auf OPTION request. Daher müssen Sie die erforderliche Konfiguration zu web.config hinzufügen, z. B. Access-Control-Allow-Origin = * und Access-Control-Allow-Methods = POST,PUT,DELETE .

Web API 2 hat CORS-Unterstützung, aber mit Web API 1 müssen Sie diesem Pfad folgen.

    
Arindam Nayak 22.10.2014 11:58
quelle
-1

Ich hatte das Problem mit webAPI konfrontiert 1 Cross-Domain-Zugang endlich in der Lage, es zu beheben, werfen Sie einen Blick auf meinen Blog Ссылка

Cross-Code ist

%Vor%     
keerthi.rb 03.08.2017 18:46
quelle