C# FileSystemWatcher可以脱机工作吗?

C# FileSystemWatcher可以脱机工作吗?,c#,wpf,filesystemwatcher,C#,Wpf,Filesystemwatcher,我已经编写了一个应用程序,需要监视对 用户未连接到网络时已同步脱机文件夹。 我使用过FileSystemWatcher,它在用户使用时工作得很好 已连接到网络,但只要它们处于脱机状态 FileSystemWatcher停止接收任何事件 我找不到任何关于脱机中文件系统事件的文档 文件夹,有人在这个领域有经验吗 谢谢当用户脱机时,FileSystemWatcher中会捕获一个Win32错误,并显示一条错误消息,说明“指定的网络名称不再可用”。这可以在FileSystemWatcher.Error事件

我已经编写了一个应用程序,需要监视对 用户未连接到网络时已同步脱机文件夹。 我使用过FileSystemWatcher,它在用户使用时工作得很好 已连接到网络,但只要它们处于脱机状态 FileSystemWatcher停止接收任何事件

我找不到任何关于脱机中文件系统事件的文档 文件夹,有人在这个领域有经验吗


谢谢

当用户脱机时,FileSystemWatcher中会捕获一个Win32错误,并显示一条错误消息,说明“指定的网络名称不再可用”。这可以在FileSystemWatcher.Error事件中检测到

此异常还会将属性EnableRaisingEvents更改为false。一旦用户重新联机,再次将其设置为true,您将再次收到通知。不幸的是,用户脱机时不会通知您发生了什么

因此,您的问题的最终答案是否定的,FileSystemWatcher不处理脱机文件通知。

  • 两个新的公共事件:NetworkPathAvailable和NetworkPathAvailable。在代码中,用户将查看这些事件以确定网络路径是否可用,并且代码可以采取适当的措施继续工作,或者优雅地死去*

我认为没有。看起来非常稀疏,任何.NET控件都需要一个本机API来调用。当然,在脱机使用文件时,您实际上并没有更改其原始位置中的文件-可能存在同步冲突。@Damien谢谢,您对“同步框架”有什么想法吗。。你是否建议用户使用此工具进行离线支持..我不确定你的总体目标是什么,所以我不确定你需要什么指导。如果这是您试图解决的更大问题的一部分,那么如果您询问有关整个问题的问题,以及当前(已损坏的)解决方案如何适应该问题,我们可能会做得更好。请在存储副本的本地文件夹上设置一个监视。如果您不知道该本地文件夹位于何处,请访问superuser.com。您应该能够使用同步框架使用DetectChangesOnFileSystemReplica方法来完成此操作。