405 Methode Optionen nicht erlaubt asp.net web-api-controller?
Habe ich diese sehr häufiges Problem, wo er sagt, dass die Methode nicht erlaubt (OPTIONS
) für eine GET
Anfrage. Ich erhalte die folgende Fehlermeldung, wenn ich einen API-Aufruf. Ich habe diese Einstellung in web.config
:
<system.webServer>
<modules>
<remove name="WebDAVModule"/>
</modules>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*"/>
<add name="Access-Control-Allow-Headers" value="Origin, Authorization, X-Requested-With, Content-Type, Accept"/>
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS"/>
</customHeaders>
</httpProtocol>
<handlers>
<remove name="WebDAV"/>
<remove name="ExtensionlessUrlHandler-Integrated-4.0"/>
<remove name="OPTIONSVerbHandler"/>
<remove name="TRACEVerbHandler"/>
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0"/>
</handlers>
</system.webServer>
Versuchte ich mit Asp.Net.WebApi.Cors
und Durchsetzung von CORS weltweit mit EnableCors()
für alle origin-Header und-Methoden und das hat nicht funktioniert entweder.
- Welche version von IIS verwenden Sie?
- iis express 10.0
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Ihrem
handlers
nach<remove name="OPTIONSVerbHandler"/>
ist, fügen Sie diese:Finden Sie die Antwort auf IIS entführt CORS Preflight-OPTIONS-Anfrage.
Oder vielleicht sogar gerade dies:
Wenn das nicht funktioniert, etwas, dass ist das hinzufügen der folgenden, die in Ihrer
global.asax
oder anderen code:Application_BeginRequest()
Methode. Und es hat dennoch funktioniert.... also wieder derselbe config / code wie ich mit gestartet, sondern arbeiten.