C# Windows Server 2012上的FileSystemWatcher未触发事件

C# Windows Server 2012上的FileSystemWatcher未触发事件,c#,windows-server-2012,windows-server-2012-r2,C#,Windows Server 2012,Windows Server 2012 R2,我开发了一个web服务,它可以监视特定目录中的PDF文件。 该服务在不同的系统上进行了测试,包括几个Windows Server 2012实例,运行良好 当部署到客户的服务器时会出现问题-文件监视程序不会引发任何事件 我创建了一个小测试工具来诊断问题 除了FileSystemWatcher之外,它还有一个计时器,只需每0.5秒更新一次监视文件夹中的文件列表 如您所见,PDF文件显示在右侧的列表中(在计时器事件中填充),而左侧的列表为空(在FileSystemWatcher事件中填充) 底部的日

我开发了一个web服务,它可以监视特定目录中的PDF文件。 该服务在不同的系统上进行了测试,包括几个Windows Server 2012实例,运行良好

当部署到客户的服务器时会出现问题-文件监视程序不会引发任何事件

我创建了一个小测试工具来诊断问题

除了FileSystemWatcher之外,它还有一个计时器,只需每0.5秒更新一次监视文件夹中的文件列表

如您所见,PDF文件显示在右侧的列表中(在计时器事件中填充),而左侧的列表为空(在FileSystemWatcher事件中填充)

底部的日志也不会显示任何文件更改

客户是政府机构,有严格的安全设置,我想问题与此有关,但是:

  • 工具不会抛出任何错误(我确保记录所有可能的错误)

  • 我们尝试以管理员身份运行该工具(结果相同)

  • 通常,可以读取目标文件夹内容而不会出现任何问题(请参见屏幕截图)

使整个过程复杂化的是,我不能直接访问目标系统,只能发送带有一些指令的可执行文件

有人知道为什么会这样吗


我可能会尝试将FileSystemWatcher.InternalBufferSize增加到65536。此外,您不需要处理同步上下文,因为您可以将此(表单)分配给FileSystemWatcher.SynchronizingObject。尽管我认为第二个解决不了你的问题。另一个问题可能是UAC感谢你调查此事。我几乎可以肯定这与安全问题有关。我还要求客户从这里运行类似的工具:[link]()结果是相同的-没有显示任何事件。在同一个组织内的两台服务器上进行了测试。最终解决了此问题-问题是由于文件夹安全权限。@Sergey,我正在处理完全相同的问题,并尝试了各种技巧,但均无效。您还记得丢失了哪些“文件夹安全权限”吗?