|
|
1
22
从 MSDN :
如果增加缓冲区大小还不够,并且无法控制一次触发事件的文件数,则必须添加额外的轮询。 另请参见此相关问题: 更新:
只增加缓冲区的大小是很有诱惑力的,但这应该小心完成。事实上,在网络访问方面有64K的限制。这个
如果您想对修改缓冲区大小的成本有更深入的了解,请查看微软的Walter Wang的文章:
|
|
|
2
4
在多次尝试使用FileSystemWatcher之后,我放弃了它。它不会正确地触发事件,在错误的时间,错误的类型。老实说,我认为它是.NET框架中最糟糕的类之一。我一直在编写自己的类,它需要一个System.Timer,经过x毫秒后,它将手动检查目录和文件。是的,这需要更多的工作,是的,这可能是一个轻微的皮塔,但一旦你写了它,你可以使用它,无论你想。我希望FileSystemWatcher能像广告中那样工作,但我从未发现它能做到这一点。 |
|
|
3
2
大多数情况下,当filesystemwatcher事件触发时,我忽略对象传递的文件,因为此列表可能不完整。 我只需在FileSystemWatcher对象监视的目录中进行爬行,然后执行手动扫描以查找可能不在FileSystemWatcher缓冲区中的文件。它不是很优雅,但它确保你不会错过一个文件。 |
|
|
4
0
这是一个非常不可靠的类,当文件超过某个阈值时,在初始副本上触发了大约7次事件,然后当文件传输对话框完成时,我又收到了7个事件,这个问题出现在所有支持FSW的操作系统中。虽然Windows7(还没有尝试过Vista)一次只能接受一个接一个或19个文件,但是如果我将文件从xp机器放到网络驱动器中,我可以一次读取数千个文件,没有任何问题。这可能只是将readdirectorychangesw从xp更改为7。过去的19个文件我无法触发任何事件,所以我想这将成为我工具的一个“特性”。如果有任何人有任何其他信息,请随时作出贡献。 |
|
|
5
-1
|