C# 如何实现可靠的热文件夹?

C# 如何实现可靠的热文件夹?,c#,windows,C#,Windows,我已经基于FileSystemWatcher构建了一个HotFolderWatcher类,我在应用程序中使用它。不幸的是,我们的自动化单元支持我在网上读到的抱怨,即FileSystemWatcher本身不可靠——也就是说,它的可靠性只与操作系统处理底层事件的可靠性一样(这是不可靠的) 是否有任何技术或解决方案可以在Windows上拥有可靠的热文件夹 一种方法是使用FileSystemWatcher来处理大多数情况,每隔一段时间使用Directory.GetFiles来获取真正的文件列表 这样,您

我已经基于FileSystemWatcher构建了一个HotFolderWatcher类,我在应用程序中使用它。不幸的是,我们的自动化单元支持我在网上读到的抱怨,即FileSystemWatcher本身不可靠——也就是说,它的可靠性只与操作系统处理底层事件的可靠性一样(这是不可靠的)


是否有任何技术或解决方案可以在Windows上拥有可靠的热文件夹

一种方法是使用
FileSystemWatcher
来处理大多数情况,每隔一段时间使用
Directory.GetFiles
来获取真正的文件列表

这样,您就有了
FileSystemWatcher
的效率来处理大多数情况,并且您可以确保在指定的时间间隔内捕获其他更改


编辑:当然
目录。GetFiles
不会告诉您重命名或更改文件的信息,因此如果需要,您需要额外的逻辑来检测这些事件。

一种方法是使用
FileSystemWatcher
来处理大多数情况,每隔一段时间使用
Directory.GetFiles
来获取真正的文件列表

这样,您就有了
FileSystemWatcher
的效率来处理大多数情况,并且您可以确保在指定的时间间隔内捕获其他更改


编辑:当然
目录。GetFiles
不会告诉您重命名或更改文件的信息,因此如果需要,您需要额外的逻辑来检测这些事件。

一种方法是使用
FileSystemWatcher
来处理大多数情况,每隔一段时间使用
Directory.GetFiles
来获取真正的文件列表

这样,您就有了
FileSystemWatcher
的效率来处理大多数情况,并且您可以确保在指定的时间间隔内捕获其他更改


编辑:当然
目录。GetFiles
不会告诉您重命名或更改文件的信息,因此如果需要,您需要额外的逻辑来检测这些事件。

一种方法是使用
FileSystemWatcher
来处理大多数情况,每隔一段时间使用
Directory.GetFiles
来获取真正的文件列表

这样,您就有了
FileSystemWatcher
的效率来处理大多数情况,并且您可以确保在指定的时间间隔内捕获其他更改


编辑:当然
Directory.GetFiles
不会告诉您文件的重命名或更改,因此如果需要,您需要额外的逻辑来检测这些事件。

我从未遇到过FileSystemWatcher问题。。。你是否真的遇到了问题,或者你担心网络上的随机评论?“只与操作系统一样可靠”这意味着所讨论的操作系统,我认为Windows是不可靠的。如果windows不够可靠,那么任何技术都不能保证在100%的时间内绝对不会出现故障和错误,那么他们使用它的目的是什么?类的可靠性是事物的一部分,如果它不可靠,那么类就不会存在,除非你从第三方获得它,类有一个预期的场景,在这个场景下它是预期使用的,你看到这是你的情况了吗?@the_Black_Smurf-是的,我们的自动化单元测试显示,在检测新创建的文件时会出现间歇性故障。当它发生时,我们只丢失了一个文件。@Caleb、Black、Smurf、FileSystemWatcher和它所依赖的API都不可靠。它往往会错过活动,尤其是在高容量情况下。我总是发现FileSystemWatcher在本地文件系统上是可靠的,但在网络上就不那么可靠了。在过去,我编写了一个类,它只对目录进行爬网,并在识别新文件时引发事件。IO不太好,所以很想看看是否有人有更好的答案。我从来没有遇到过FileSystemWatcher的问题。。。你是否真的遇到了问题,或者你担心网络上的随机评论?“只与操作系统一样可靠”这意味着所讨论的操作系统,我认为Windows是不可靠的。如果windows不够可靠,那么任何技术都不能保证在100%的时间内绝对不会出现故障和错误,那么他们使用它的目的是什么?类的可靠性是事物的一部分,如果它不可靠,那么类就不会存在,除非你从第三方获得它,类有一个预期的场景,在这个场景下它是预期使用的,你看到这是你的情况了吗?@the_Black_Smurf-是的,我们的自动化单元测试显示,在检测新创建的文件时会出现间歇性故障。当它发生时,我们只丢失了一个文件。@Caleb、Black、Smurf、FileSystemWatcher和它所依赖的API都不可靠。它往往会错过活动,尤其是在高容量情况下。我总是发现FileSystemWatcher在本地文件系统上是可靠的,但在网络上就不那么可靠了。在过去,我编写了一个类,它只对目录进行爬网,并在识别新文件时引发事件。IO不太好,所以很想看看是否有人有更好的答案。我从来没有遇到过FileSystemWatcher的问题。。。你是否真的遇到了问题,或者你担心网络上的随机评论?“只与操作系统一样可靠”这意味着所讨论的操作系统,我认为Windows是不可靠的。如果windows不够可靠,那么任何技术都不能保证在100%的时间内绝对不会出现故障和错误,那么他们使用它的目的是什么?类的可靠性是事物的一部分,如果它不可靠,那么类就不会存在,除非你从第三方获得它,类有一个预期的场景,在这个场景下它是预期使用的,你看到这是你的情况了吗?@the_Black_Smurf-是的,我们的自动化单元测试显示,在检测新创建的文件时会出现间歇性故障。当它发生时,我们只丢失了1个文件。@Caleb、Black、Smurf、FileSystemWatcher和它所依赖的API是