c# - .Net FileWatcher 无法处理 ~80 多个文件

标签 c# .net

我正在使用 .net 2.0 filewatcher 来监视文件夹中的新文件。它工作得很好,除非我一次放置超过 80 个文件。该事件不再触发。就好像 filewatcher 被设置为跟踪一定数量的文件。

目前我已经要求用户一次不要放置超过 50 个文件,这似乎可行,但我想修复它,以便可以一次将数百个文件放入文件夹中。

这是我在事件中使用的代码。这是非常标准的东西,没什么特别的。


FileWatcher = new FileSystemWatcher();
FileWatcher.Path = ConfigurationManager.AppSettings["FolderOfFilesToWatch"];
FileWatcher.NotifyFilter = NotifyFilters.FileName;
FileWatcher.Filter = "*_*_*.*";
FileWatcher.Created += new FileSystemEventHandler(watcher_Created);
FileWatcher.EnableRaisingEvents = true;


static void watcher_Created(object sender, FileSystemEventArgs e)
{
Console.Write(e.Name);
}

有什么想法吗?

最佳答案

您可能需要增加 FileSystemWatcher。 InternalBufferSize .默认情况下,FileSystemWatcher 使用较小的缓冲区来提高性能,如果在短时间内发生太多更改,则可能会溢出。

尝试设置更大的缓冲区大小以防止发生这种情况。

关于c# - .Net FileWatcher 无法处理 ~80 多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/940819/

相关文章:

c# - 如何在 C# 中为 DCRAW 制作一个简单的图形界面

c# - 如何根据仅包含已更改索引的列表修改列表索引?

c# - 是否有 gtk# 应用程序的自动化框架?

类的 C# 文档 <example><code>...</code></example>

c# - 我如何将其写成单个 LINQ 查询?

c# - .NET C# float.Parse 将不同的结果返回给 double.Parse

c# - 为什么派生类需要使用基类构造函数

c# - List 的一般问题

c# - IoC 和构造函数过度注入(inject)反模式解决方案

c# - 在没有 "new"关键字的情况下隐藏方法或属性时强制编译器使构建过程失败