C# 正在使用WINDOWS/system32/LogFiles。我如何才能发现使用它的程序?如果是';这是服务器,我怎么用呢?

C# 正在使用WINDOWS/system32/LogFiles。我如何才能发现使用它的程序?如果是';这是服务器,我怎么用呢?,c#,iis,streamreader,logging,windows-server,C#,Iis,Streamreader,Logging,Windows Server,使用在WINDOWS/system32/LogFiles中打开文件 using (StreamReader r = new StreamReader(fileName)) 生成异常“因为文件正被另一个进程使用”。我怎样才能知道另一个过程是什么?可能是服务器在更新日志吗?如果是,我如何确保关联的计划任务也可以访问 谢谢 恐怕我没有在这台服务器上安装程序的权限。这是令人不安的老派做法,但我喜欢这个非常糟糕的实用程序:wholockme 它让您知道谁锁定了文件 雅各布这是一个令人不安的老派

使用在WINDOWS/system32/LogFiles中打开文件

    using (StreamReader r = new StreamReader(fileName))
生成异常“因为文件正被另一个进程使用”。我怎样才能知道另一个过程是什么?可能是服务器在更新日志吗?如果是,我如何确保关联的计划任务也可以访问

谢谢


恐怕我没有在这台服务器上安装程序的权限。

这是令人不安的老派做法,但我喜欢这个非常糟糕的实用程序:wholockme

它让您知道谁锁定了文件


雅各布

这是一个令人不安的老派,但我喜欢这个非常糟糕的工具:whockme

它让您知道谁锁定了文件

Jacob

就个人而言,我更喜欢它的“查找句柄”功能

您也可以尝试以共享模式打开文件:

using (FileStream fs = File.Open(fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
using (StreamReader r = new StreamReader(fs))
    ... 
就个人而言,我更喜欢它的“查找句柄”功能

您也可以尝试以共享模式打开文件:

using (FileStream fs = File.Open(fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
using (StreamReader r = new StreamReader(fs))
    ... 

如果您想知道谁打开了文件,我最喜欢的应用程序是handlebysysinternals()。我知道你说过你没有安装应用程序的权限,这只是你运行的一个可执行文件,如果你愿意,你可以从网络共享运行它


我遇到了SMTP服务日志的日志文件锁定问题,我的解决方案是将文件复制到另一个位置并从那里打开。可能对你正在做的事情有用。

如果你想知道谁打开了文件,我最喜欢的应用程序是Handle by SysInternals()。我知道你说过你没有安装应用程序的权限,这只是你运行的一个可执行文件,如果你愿意,你可以从网络共享运行它

我遇到了SMTP服务日志的日志文件锁定问题,我的解决方案是将文件复制到另一个位置并从那里打开。可能对你的工作有用