Ich habe diese App, wo ich meine benutzerdefinierten Header in der Web.Config festlegen möchten, leider ist dies nicht immer narrensicher.Probleme mit CORS in ASP.NET
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Methods" value="*" />
<add name="Access-Control-Allow-Headers" value="*" />
</customHeaders>
Der obige Satz und Wiederholungen davon wie
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Methods" value="OPTIONS,GET,PUT,DELETE,POST" />
<add name="Access-Control-Allow-Headers" value="Authorization,Content-Type" />
</customHeaders>
hat sich für mich nicht funktioniert in allen Szenarien gearbeitet. Ab sofort funktioniert diese Einstellung in etwa 50% der Testmaschinen und gibt in anderen 405 Method Not Allowed
.
Die Alternative wird in WebApiConfig.cs
festgelegt und die benutzerdefinierten Header in Web.config
auskommentieren.
//Web API Cross origin requests - Enable
var cors = new EnableCorsAttribute("*", "*", "*");
config.EnableCors(cors);
Warum gibt es in dieser so viel Unklarheit und wie weiß ich sicher, wo CORS
die ganze Zeit funktioniert? Ich bin wirklich daran interessiert, CORS nur auf Web.config
zu setzen, da ich die Flexibilität haben möchte, es in der bereitgestellten Version zu modifizieren.
Ja, das scheint, wie das Problem. Das Problem scheint zufällig zu sein, aber nach dem, was ich von deinem Beitrag gelesen habe, scheint es, als ob es nicht wirklich sein könnte. Kannst du bitte den Grund oder das erklären? – Shouvik
Diese zusätzliche Überprüfung wurde hinzugefügt, um sicherzustellen, dass alte APIs, die nur für GET- und POST-Anforderungen konfiguriert wurden, nicht ausgenutzt werden. Stellen Sie sich vor, Sie senden ein DELETE-Verb an eine API, die entworfen wurde, als dieses Verb nicht existierte. Das Ergebnis ist unsicher und könnte zu schwerwiegenden Problemen bei den Daten hinter dieser API führen. –
Arbeitete perfekt. – shammelburg