SyncSessionContext.OnProgressChanged 메서드
응용 프로그램에 동기화 진행률을 보고합니다.
네임스페이스: Microsoft.Synchronization
어셈블리: microsoft.synchronization.dll의 Microsoft.Synchronization
구문
‘선언
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
)
매개 변수
- e
이벤트 데이터를 포함하는 SyncStagedProgressEventArgs 개체입니다.
주의
이 메서드는 응용 프로그램에 사용자 지정 진행률을 보고하는 데 사용할 수 있습니다. 공급자에서 이 메서드를 호출하면 SyncOrchestrator.SessionProgress 이벤트가 발생합니다.
e의 Stage 속성에 ChangeApplication이 지정되면 Sync Framework는 OnProgressChanged가 호출될 때마다 e의 CompletedWork 속성에서 지정한 완료된 총 작업을 누적합니다. 또한 Sync Framework는 e의 TotalWork 속성을 세션의 남은 작업으로 해석하고 TotalWork를 완료된 작업의 누적 값에 더하여 세션의 총 작업을 계산합니다. 그런 다음 Sync Framework는 이 계산된 값을 SyncOrchestrator.SessionProgress에 전달합니다. e의 Stage 속성이 다른 유효한 값이면 CompletedWork 및 TotalWork가 SyncOrchestrator.SessionProgress에 직접 전달됩니다.
원본 공급자가 작업 예상률을 지정하는 경우 공급자가 OnProgressChanged를 호출하고 e의 Stage 속성에 ChangeApplication을 지정하면 예기치 않은 결과가 발생할 수 있습니다. 이 문제는 변경 내용을 적용하는 동안 진행률 알림이 전송될 때마다 Sync Framework가 완료된 작업 값을 누적하기 때문에 발생합니다. 공급자가 자체 진행률 알림을 전송하고 Stage에 ChangeApplication을 지정하면 Sync Framework는 공급자가 지정한 작업 예상률 값을 세션의 완료된 총 작업에 더합니다. 이로 인해 같은 작업이 Sync Framework에서 보고될 때와 공급자에서 보고될 때 각각 한 번씩 모두 두 번 계산될 수 있습니다.
참고 항목
참조
SyncSessionContext 클래스
SyncSessionContext 멤버
Microsoft.Synchronization 네임스페이스