Mam tej aplikacji, gdzie chciałbym ustawić moje niestandardowe nagłówki w Web.Config, niestety nie zawsze jest to dowód głupi.Problemy z CORS w 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>
Powyższy zestaw i iteracje nim takie jak
<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>
nie pracował pracował dla mnie w ogóle scenariusze. Od tej pory to ustawienie działa w około 50% maszyn testowych i daje 405 Method Not Allowed
w innych.
Alternatywę można ustawić w WebApiConfig.cs
i odkomentować niestandardowe nagłówki w Web.config
.
//Web API Cross origin requests - Enable
var cors = new EnableCorsAttribute("*", "*", "*");
config.EnableCors(cors);
Dlaczego istnieje tak wiele dwuznaczności w tym i skąd mam wiedzieć na pewno, gdzie CORS
będzie działać przez cały czas? Naprawdę jestem zainteresowany ustawianiem CORS na Web.config
tylko dlatego, że chciałbym elastyczności jego modyfikacji w wdrożonej wersji.
Tak, to wydaje się problem. Problem wydaje się przypadkowy, ale z tego, co przeczytałem z twojego postu, wydaje się, że tak naprawdę nie jest. Czy możesz wyjaśnić powód? – Shouvik
Ta dodatkowa kontrola została dodana w celu zapewnienia, że stare API skonfigurowane do akceptowania tylko żądań GET i POST nie będą wykorzystywane. Wyobraź sobie wysłanie komendy DELETE do API zaprojektowanego, gdy ten czasownik nie istnieje. Wynik jest niepewny i może spowodować poważne problemy z danymi za tym API. –
Działa doskonale. – shammelburg