Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.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# 没有权限从带有log4net的.NET应用程序写入Windows Server 2008上的磁盘_C#_.net_Windows Server 2008_Log4net_File Permissions - Fatal编程技术网

C# 没有权限从带有log4net的.NET应用程序写入Windows Server 2008上的磁盘

C# 没有权限从带有log4net的.NET应用程序写入Windows Server 2008上的磁盘,c#,.net,windows-server-2008,log4net,file-permissions,C#,.net,Windows Server 2008,Log4net,File Permissions,我编写了一个简单的应用程序,它ping我的web服务以查看它是否启动,并使用log4net将事件记录到一个文件中 它在我的开发机器上运行良好,但当我将程序集放在其他Windows Server 2008机器上(这也不同于运行I ping服务的服务器)时,程序不会创建日志文件 我从Administrators组中的帐户运行它,尝试将它放在服务器上的不同目录中,以“管理员”身份运行它,将文件夹的所有权限授予服务器上的所有用户组,但仍然没有日志文件 在事件日志中不获取任何错误消息和事件消息 以下是我的

我编写了一个简单的应用程序,它ping我的web服务以查看它是否启动,并使用log4net将事件记录到一个文件中

它在我的开发机器上运行良好,但当我将程序集放在其他Windows Server 2008机器上(这也不同于运行I ping服务的服务器)时,程序不会创建日志文件


我从Administrators组中的帐户运行它,尝试将它放在服务器上的不同目录中,以“管理员”身份运行它,将文件夹的所有权限授予服务器上的所有用户组,但仍然没有日志文件

在事件日志中不获取任何错误消息和事件消息

以下是我的log4net配置设置:

<log4net>
<appender name="FileAppender" type="log4net.Appender.FileAppender">
  <file value="MyServiceLog.txt" />
  <appendToFile value="true" />
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] – %message%newline" />
  </layout>
</appender>
<root>
  <level value="ALL" />
  <appender-ref ref="FileAppender" />
</root>


您应该在下列文件夹中输入文件夹名称:

<file value="MyServiceLog.txt" />

将其更改为:

<file value="c:\dirIown\MyServiceLog.txt" />


然后确保在
c:\dirIown

上授予用户访问权限。是否检查了服务器上的日志以查看应用程序是否出现任何错误?是。我检查了应用程序和安全日志,没有错误,实际上也没有关于应用程序活动的条目。虽然我知道进程正在运行,但我看到了它的窗口。如果应用程序无法写入服务器,那么它应该抛出异常,这应该在应用程序的窗口中可见。可能log4net会吃掉异常。。。有没有办法让他把例外情况说出来?也许我会自己尝试file.write(),看看是否发生了什么事情……我只是放弃了,用System.IO.file.writealText(LOG_PATH,text)写入了文件——在任何地方都能正常工作。Log4net一定有问题。它在我的机器上也无法从编译器放入的目录以外的目录工作。尝试将它放入不同的目录。最后我用file.write()自己做了这件事。。