Freigeben über


SyncSessionContext.OnProgressChanged-Methode

Meldet den Synchronisierungsstatus an die Anwendung.

Namespace: Microsoft.Synchronization
Assembly: Microsoft.Synchronization (in microsoft.synchronization.dll)

Syntax

'Declaration
Public Sub OnProgressChanged ( _
    e As SyncStagedProgressEventArgs _
)
'Usage
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
)

Parameter

Hinweise

Diese Methode kann zum Melden benutzerdefinierter Statuswerte an die Anwendung verwendet werden. Wenn diese Methode von einem Anbieter aufgerufen wird, wird das SyncOrchestrator.SessionProgress-Ereignis ausgelöst.

Wenn ChangeApplication für die Stage-Eigenschaft von e festgelegt ist, akkumuliert Sync Framework bei jedem Aufruf von OnProgressChanged die von der CompletedWork-Eigenschaft von e angegebene insgesamt abgeschlossene Arbeit. Sync Framework interpretiert die TotalWork-Eigenschaft von e als verbleibende Arbeit der Sitzung und berechnet die Gesamtarbeit für die Sitzung, indem TotalWork mit dem akkumulierten Wert für die abgeschlossene Arbeit addiert wird. Sync Framework übergibt diese berechneten Werte dann an SyncOrchestrator.SessionProgress. Wenn die Stage-Eigenschaft von e einen anderen gültigen Wert hat, werden CompletedWork und TotalWork direkt an SyncOrchestrator.SessionProgress übergeben.

Wenn der Quellenanbieter Schätzungen für die Arbeit angibt, können unerwartete Ergebnisse auftreten, wenn ein Anbieter OnProgressChanged aufruft und ChangeApplication für die Stage-Eigenschaft von e angibt. Der Grund dafür ist, dass Sync Framework den Wert für die abgeschlossene Arbeit immer dann berechnet, wenn während der Übernahme von Änderungen Fortschrittsbenachrichtigungen gesendet werden. Wenn ein Anbieter eigene Fortschrittsbenachrichtigungen sendet und ChangeApplication für Stage angibt, addiert Sync Framework die vom Anbieter angegebenen geschätzten Werte für die Arbeit und die insgesamt abgeschlossene Arbeit der Sitzung. Dies kann dazu führen, dass dieselbe Arbeit zweimal gezählt wird: einmal, wenn sie von Sync Framework gemeldet wird und einmal, wenn sie vom Anbieter gemeldet wird.

Siehe auch

Verweis

SyncSessionContext-Klasse
SyncSessionContext-Member
Microsoft.Synchronization-Namespace