PipeReader.AdvanceTo 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將管線的讀取資料指標向前移至耗用的資料之後。
多載
AdvanceTo(SequencePosition) |
將管線的讀取游標向前移至已取用資料的後面,將資料標示為已處理。 |
AdvanceTo(SequencePosition, SequencePosition) |
將管線的讀取游標向前移至已取用資料的後面,將資料標示為已處理、讀取及檢查。 |
備註
已取用數據的記憶體將會釋放,且不再可用。 Buffer先前從 傳回的 ReadAsync(CancellationToken) ,在呼叫之後不得存取。 當檢查的數據應該發出更多可用的訊號時,檢查的數據會與管線通訊。
AdvanceTo(SequencePosition)
將管線的讀取游標向前移至已取用資料的後面,將資料標示為已處理。
public:
abstract void AdvanceTo(SequencePosition consumed);
public abstract void AdvanceTo (SequencePosition consumed);
abstract member AdvanceTo : SequencePosition -> unit
Public MustOverride Sub AdvanceTo (consumed As SequencePosition)
參數
- consumed
- SequencePosition
標記已成功處理的資料範圍。
備註
已取用數據的記憶體將會釋放,且不再可用。
Buffer先前從 傳回的 ReadAsync(CancellationToken) ,在呼叫之後不得存取。
這相當於使用相同的 AdvanceTo(SequencePosition, SequencePosition) 檢查和取用位置呼叫。 當檢查的數據應該發出更多可用的訊號時,檢查的數據會與管線通訊。
由於已取用的參數會重複做為已檢查的參數,所以取用的參數應該大於或等於上一次呼叫 AdvanceTo
中檢查的位置。 否則會擲回 InvalidOperationException。
適用於
AdvanceTo(SequencePosition, SequencePosition)
將管線的讀取游標向前移至已取用資料的後面,將資料標示為已處理、讀取及檢查。
public:
abstract void AdvanceTo(SequencePosition consumed, SequencePosition examined);
public abstract void AdvanceTo (SequencePosition consumed, SequencePosition examined);
abstract member AdvanceTo : SequencePosition * SequencePosition -> unit
Public MustOverride Sub AdvanceTo (consumed As SequencePosition, examined As SequencePosition)
參數
- consumed
- SequencePosition
標記已成功處理的資料範圍。
- examined
- SequencePosition
標記已讀取並檢查的資料範圍。
備註
已取用數據的記憶體將會釋放,且不再可用。
Buffer先前從 傳回的 ReadAsync(CancellationToken) ,在呼叫之後不得存取。
當檢查的數據應該發出更多可用的訊號時,檢查的數據會與管線通訊。
所檢查的參數應該大於或等於先前呼叫 AdvanceTo
中檢查的位置。 否則會擲回 InvalidOperationException。
適用於
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應