Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在服务器上重新加载配置文件_C#_Asp.net Mvc_Iis_Log4net_Windows Server 2008 R2 - Fatal编程技术网

C# 如何在服务器上重新加载配置文件

C# 如何在服务器上重新加载配置文件,c#,asp.net-mvc,iis,log4net,windows-server-2008-r2,C#,Asp.net Mvc,Iis,Log4net,Windows Server 2008 R2,我的应用程序使用: .NET 4 MVC 3 Windows Server 2008 R2 我使用log4net写入日志文件。我的配置文件如下所示: <configuration> <log4net> <appender name="FileAppender" type="log4net.Appender.FileAppender"> <file value="C:\Temp\log.txt"> <so

我的应用程序使用:

  • .NET 4
  • MVC 3
  • Windows Server 2008 R2
我使用
log4net
写入日志文件。我的配置文件如下所示:

<configuration>
  <log4net>
    <appender name="FileAppender" type="log4net.Appender.FileAppender">
      <file value="C:\Temp\log.txt">
      <some settings for log4net...>
    </appender>
  <log4net>
</configuration>

我想在应用程序运行时更改文件值,从

当我在我的计算机(localhost)上运行应用程序时,效果非常好,但当我在服务器上运行应用程序时,出现了一个问题。我更改了配置,但服务器会记住旧的配置。为什么服务器不每次加载文件?

检查您是否有:

[assembly: log4net.Config.XmlConfigurator(Watch=true)]
监视意味着log4net将获取配置文件中的更改。您还可以在应用程序配置中对此进行配置

<appSettings>
  <add key="log4net.Config" value="log4net.config"/>
  <add key="log4net.Config.Watch" value="True"/>
</appSettings>

如果它停止记录temp dir,并且没有在de logs dir中启动,则可能存在权限问题。为apppool用户提供对日志目录的访问权限

如果不起作用,可以启用log4net内部调试:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
        <add key="log4net.Internal.Debug" value="true"/>
    </appSettings>
</configuration>

或:


...
...

是否已在服务器上创建了c:\Logs文件夹?是的,已在服务器上创建。服务器具有写入权限。我这样认为是因为我看到他正在向文件写入,问题是服务器在任何给定时刻都不会读取或加载配置。
<configuration>
    ...

    <system.diagnostics>
        <trace autoflush="true">
            <listeners>
                <add 
                    name="textWriterTraceListener" 
                    type="System.Diagnostics.TextWriterTraceListener" 
                    initializeData="C:\tmp\log4net.txt" />
            </listeners>
        </trace>
    </system.diagnostics>

    ...
</configuration>