使用英语阅读

通过


FileSystemWatcher.InternalBufferSize 属性

定义

获取或设置内部缓冲区的大小(以字节为单位)。

public:
 property int InternalBufferSize { int get(); void set(int value); };
public int InternalBufferSize { get; set; }
[System.ComponentModel.Browsable(false)]
public int InternalBufferSize { get; set; }
member this.InternalBufferSize : int with get, set
[<System.ComponentModel.Browsable(false)>]
member this.InternalBufferSize : int with get, set
Public Property InternalBufferSize As Integer

属性值

内部缓冲区的大小(以字节为单位)。 默认值为 8192 (8 KB)。

属性

注解

可以将缓冲区设置为 4 KB 或更大,但不能超过 64 KB。 如果尝试将 InternalBufferSize 属性设置为小于 4096 个字节,则会丢弃值, InternalBufferSize 并将属性设置为 4096 字节。 为了获得最佳性能,请在基于 Intel 的计算机上使用 4 KB 的倍数。

系统通知组件文件更改,并将这些更改存储在组件创建并传递给 API 的缓冲区中。 每个事件最多可以使用 16 字节的内存,不包括文件名。 如果在短时间内发生了许多更改,缓冲区可能会溢出。 这会导致组件无法跟踪目录中的更改,并且它只会提供全面通知。 增加缓冲区的大小可以防止缺少文件系统更改事件。 但是,增加缓冲区大小的成本很高,因为它来自无法交换到磁盘的非分页内存,因此请尽可能减小缓冲区。 若要避免缓冲区溢出,请使用 NotifyFilterIncludeSubdirectories 属性筛选掉不需要的更改通知。

适用于

产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

另请参阅