Контекст:CORS проблема при добавлении Log4Net CONFIG
У меня есть простой Web API проект с контроллером и действия. В заголовке каждого запроса я добавляю токен авторизации. Все работает должным образом. Я могу запросить маркер на основе некоторых учетных данных и использовать его для успешного выполнения HTTP-запросов.
Проблема: Когда я добавляю следующее в web.config:
<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>
Я получаю следующее сообщение об ошибке:
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.
Если удалить конфигурацию log4net все работает ожидается.
Примечание: У меня нет настроек в файле web.config, который добавляет заголовки в запрос.
Startup.cs является единственной точка в проекте были Уточняет:
app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
Вопрос: Каким образом log4net конфигурации относятся к предполетным запросам? (на основе моих ограниченных знаний об инфраструктуре ASP.NET я бы сказал, что это не имеет смысла). Есть ли у меня тонкость, которую я пропустил?
Я предполагаю, что конфигурация log4net вызывает исключение, которое приводит к ответу 500, который не имеет заголовка CORS. Узнайте, что такое исключение. – user1620220
Ваш тег 'log4net' не закрыт, это опечатка? – stuartd
@stuartd, да, это ошибка копирования-вставки. У меня это в моем коде. Извиняюсь за это. –