共用方式為


SyncSessionContext.OnProgressChanged 方法

向應用程式報告同步處理進度。

命名空間: Microsoft.Synchronization
組件: Microsoft.Synchronization (在 microsoft.synchronization.dll)

語法

'宣告
Public Sub OnProgressChanged ( _
    e As SyncStagedProgressEventArgs _
)
'用途
Dim instance As SyncSessionContext
Dim e As SyncStagedProgressEventArgs

instance.OnProgressChanged(e)
public void OnProgressChanged (
    SyncStagedProgressEventArgs e
)
public:
void OnProgressChanged (
    SyncStagedProgressEventArgs^ e
)
public void OnProgressChanged (
    SyncStagedProgressEventArgs e
)
public function OnProgressChanged (
    e : SyncStagedProgressEventArgs
)

參數

備註

您可以使用這個方法,向應用程式報告自訂進度。當提供者呼叫這個方法時,就會引發 SyncOrchestrator.SessionProgress 事件。

當您針對 e 的 Stage 屬性指定 ChangeApplication 時,Sync Framework 就會累積每次呼叫 OnProgressChanged 時由 e 的 CompletedWork 屬性所指定的已完成工作總計。Sync Framework 也會將 e 的 TotalWork 屬性解譯成工作階段的剩餘工作,並且將 TotalWork 加入至已完成工作的累積值,藉以計算工作階段的總工作量。然後,Sync Framework 會將這些計算值傳遞給 SyncOrchestrator.SessionProgress。當 e 的 Stage 屬性是任何其他有效的值時,CompletedWorkTotalWork 就會直接傳遞給 SyncOrchestrator.SessionProgress

當來源提供者指定了工作量估計值時,如果提供者呼叫 OnProgressChanged 並針對 e 的 Stage 屬性指定 ChangeApplication,就可能會發生非預期的結果。這是因為每次在變更套用期間傳送進度通知時,Sync Framework 就會加總已完成工作值。如果提供者傳送自訂的進度通知,並且針對 Stage 指定 ChangeApplication,Sync Framework 就會將提供者所指定的估計工作值加入至工作階段的已完成工作總計。這樣可能會導致相同的工作計算兩次:一次是在 Sync Framework 報告時,而另一次是在提供者報告時。

請參閱

參考

SyncSessionContext 類別
SyncSessionContext 成員
Microsoft.Synchronization 命名空間