C# 添加log4net配置时出现CORS问题

C# 添加log4net配置时出现CORS问题,c#,asp.net-web-api,log4net,owin-middleware,C#,Asp.net Web Api,Log4net,Owin Middleware,上下文: 我有一个简单的WebAPI项目,带有一个控制器和一个动作。 在每个请求的头中,我添加了一个授权令牌。 一切正常。我可以基于一些凭据请求令牌,并使用它成功地发出HTTP请求 问题: 在web.config中添加以下内容时: <log4net> <appender name="FileAppender" type="log4net.Appender.FileAppender"> <lockingModel type="log4net.Appender.Fi

上下文:

我有一个简单的WebAPI项目,带有一个控制器和一个动作。 在每个请求的头中,我添加了一个授权令牌。 一切正常。我可以基于一些凭据请求令牌,并使用它成功地发出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>
如果我删除log4net的配置,一切都会正常工作

注意:我在web.config中没有在请求中添加标题的任何设置

Startup.cs是我指定的项目中唯一的一点:

app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll)

问题:log4net配置与飞行前请求有何关联?
(基于我对ASP.NET框架的有限了解,我认为它毫无意义)。我缺少了什么微妙之处吗?

我查看了我的项目的网络配置,其中有一部分来自一个正在工作的
web.config

   <configSections> 
         <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> 
       </configSections> 
       <log4net> 
         <appender name="FileAppender" type="log4net.Appender.FileAppender"> 
          ...
        </log4net> 

...

可能您错过了
configSection

使用外部设置文件来避免问题:

启动时,调用:

XmlConfigurator.Configure();
在Web.config中,在appSettings中指定log4net.config:

<add key="log4net.Config" value="Log.config" />

在Log.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>


我猜log4net配置导致了一个异常,导致500个响应没有CORS头。找出异常情况。您的
log4net
标记未关闭,是打字错误吗?@stuartd,是的,是复制粘贴错误。我的密码里有。很抱歉,谢谢。这是我遇到的问题。
<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>