閱讀英文

共用方式為


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

另請參閱