Compartilhar via


Método SyncSessionContext.OnProgressChanged

Relata o progresso da sincronização ao aplicativo.

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

Sintaxe

'Declaração
Public Sub OnProgressChanged ( _
    e As SyncStagedProgressEventArgs _
)
'Uso
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
)

Parâmetros

Comentários

Esse método pode ser usado para relatar o progresso personalizado ao aplicativo. Quando um provedor chama esse método, o evento SyncOrchestrator.SessionProgress é gerado.

Quando ChangeApplication é especificado para a propriedade Stage de e, o Estrutura de sincronização acumula o trabalho total concluído que é especificado pela propriedade CompletedWork de e sempre que OnProgressChanged é chamado. O Estrutura de sincronização também interpreta a propriedade TotalWork de e como o trabalho restante da sessão e calcula o trabalho total da sessão adicionando TotalWork ao valor acumulado para o trabalho concluído. O Estrutura de sincronização passa então esses valores calculados para SyncOrchestrator.SessionProgress. Quando a propriedade Stage de e é qualquer outro valor válido, CompletedWork e TotalWork são passadas diretamente para SyncOrchestrator.SessionProgress.

Quando o provedor de origem especificar estimativas de trabalho, poderão ocorrer resultados inesperados se um provedor chamar OnProgressChanged e especificar ChangeApplication para a propriedade Stage de e. Isso ocorre porque o Estrutura de sincronização calcula o valor do trabalho concluído sempre que são enviadas notificações de progresso durante a aplicação de alterações. Se um provedor enviar sua própria notificação de progresso e especificar ChangeApplication para Stage, o Estrutura de sincronização adicionará os valores de estimativa de trabalho especificados pelo provedor ao trabalho total concluído da sessão. Isso pode fazer com que o mesmo trabalho seja contado duas vezes: uma vez quando ele é relatado pelo Estrutura de sincronização e uma quando é relatado pelo provedor.

Consulte também

Referência

Classe SyncSessionContext
Membros SyncSessionContext
Namespace Microsoft.Synchronization