Kontext füge hinzu:CORS Problem, wenn log4net Config
Ich habe ein einfaches Web-API-Projekt mit einem Controller und eine Aktion. In der Kopfzeile jeder Anfrage füge ich ein Autorisierungstoken hinzu. Alles funktioniert wie erwartet. Ich kann ein Token basierend auf einigen Anmeldeinformationen anfordern und es verwenden, um HTTP-Anforderungen erfolgreich durchzuführen.
Problem: Wenn ich folgend in der web.config hinzufügen:
<log4net>
<appender name="FileAppender" type="log4net.Appender.FileAppender">
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<file value="logfile.txt" />
<appendToFile value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date: %-5level – %message%newline" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="FileAppender" />
</root>
</log4net>
ich die folgende Fehlermeldung erhalten:
XMLHttpRequest cannot load http://localhost:4042/token. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 500.
Wenn ich die Konfiguration für log4net alles entfernen arbeitet als erwartet.
Hinweis: Ich habe keine Einstellung in web.config, die Header in einer Anfrage hinzufügt.
Startup.cs ist der einzige Punkt, in dem Projekt wurden laut angegebenem:
app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
Frage: Wie funktioniert die log4net beziehen Konfiguration Preflight-Anfragen? (basierend auf meinem begrenzten Wissen über das ASP.NET-Framework würde ich sagen, es ist Unsinn). Gibt es eine Feinheit, die ich vermisse?
Meine Vermutung ist, dass die log4net-Konfiguration eine Ausnahme verursacht, die zu einer 500-Antwort führt, die nicht den CORS-Header hat. Finde heraus, was die Ausnahme ist. – user1620220
Ihr 'log4net'-Tag ist nicht geschlossen, ist das ein Tippfehler? – stuartd
@stuartd, ja, es ist ein Copy-Paste-Fehler. Ich habe es in meinem Code. Entschuldigung dafür. –