FileSystemWatcher.InternalBufferSize 属性

获取或设置内部缓冲区的大小。

**命名空间:**System.IO
**程序集:**System(在 system.dll 中)

语法

声明
Public Property InternalBufferSize As Integer
用法
Dim instance As FileSystemWatcher
Dim value As Integer

value = instance.InternalBufferSize

instance.InternalBufferSize = value
public int InternalBufferSize { get; set; }
public:
property int InternalBufferSize {
    int get ();
    void set (int value);
}
/** @property */
public int get_InternalBufferSize ()

/** @property */
public void set_InternalBufferSize (int value)
public function get InternalBufferSize () : int

public function set InternalBufferSize (value : int)

属性值

内部缓冲区的大小。默认值为 8192 (8K)。

备注

缓冲区可以设置为大于 4096 (4K) 的任何值,但为获得最佳性能,在基于 Intel 的计算机上应设置为 4K 的倍数。

系统通知组件文件发生更改,并将这些更改存储在组件创建并传递给 API 的缓冲区中。如果短时间内有很多更改,则缓冲区可能会溢出。这将导致组件失去对目录更改的跟踪,并且它将只提供一般性通知。增加缓冲区大小会有下列结果:

  • 增加缓冲区大小可以防止丢失文件系统更改事件。请注意,由于 Windows 操作系统的依赖项,当丢失某个事件或超出缓冲区大小时,FileSystemWatcher 类的实例不会引发 Error 事件。

  • 增加缓冲区大小的开销较大,因为它来自无法换出到磁盘的非分页内存,所以将缓冲区保持得越小越好。若要避免缓冲区溢出,请使用 NotifyFilterIncludeSubdirectories 属性筛选掉不想要的更改通知。

平台

Windows 98、Windows 2000 SP4、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

请参见

参考

FileSystemWatcher 类
FileSystemWatcher 成员
System.IO 命名空间
NotifyFilter
OnError
FileSystemWatcher.Filter 属性
FileSystemWatcher.IncludeSubdirectories 属性
InternalBufferOverflowException