【发布时间】:2009-04-20 15:59:16
【问题描述】:
好的,在将我们的一个 Web 应用程序部署到我们的实时服务器时,我遇到了一个非常奇怪的问题。
我们的应用程序使用 log4net 大量记录大量操作,在部署几个小时后,我们得到以下异常。
无法加载文件或程序集 'log4net, Version=1.2.9.0, Culture=neutral, PublicKeyToken=b32731d11ce58905' 或其依赖项之一。访问被拒绝。
以下是我使用的相关 web.config 添加内容。
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<log4net>
<appender name="ErrorLogFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="D:\SomeLocation\Errorlog"/>
<param name="AppendToFile" value="true"/>
<param name="RollingStyle" value="Size"/>
<param name="maxSizeRollBackups" value="-1" />
<param name="maximumFileSize" value="100MB" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"/>
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="FATAL" />
<param name="LevelMax" value="FATAL" />
</filter>
</appender>
<appender name="BookingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="D:\SomeLocation\BookingInfoLog"/>
<param name="AppendToFile" value="true"/>
<param name="RollingStyle" value="Size"/>
<param name="maxSizeRollBackups" value="-1" />
<param name="maximumFileSize" value="100MB" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"/>
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="INFO" />
<param name="LevelMax" value="FATAL" />
</filter>
</appender>
<root>
<level value="ALL"/>
<appender-ref ref="BookingLogFileAppender"/>
<appender-ref ref="ErrorLogFileAppender"/>
</root>
</log4net>
它在我们的本地机器和开发服务器上运行良好,但不是在现场。
顺便说一句,在 web.config 更新或应用程序池回收之后,JIT 编译器在服务器上运行后似乎会中断,甚至只是很长一段时间!
更新:我们的实时服务器从一个共享位置运行所有网站。我设法在从共享运行应用程序的另一台服务器上复制了这个问题。将站点设置为从本地驱动器运行时,问题消失了,但我们的托管要求我们从共享运行。为什么 log4net 会从共享运行权限问题的任何想法。再次运行应用程序,直到发生另一个 JIT 编译
【问题讨论】:
-
我遇到的问题和你一模一样。你有没有为此找到解决方案?
标签: c# .net web-config log4net