Condividi tramite


Metodo IFilterTrackingNotifyingChangeApplierTarget.SaveKnowledgeWithFilterForgottenKnowledge

Quando sottoposto a override in una classe derivata, salva la conoscenza, la conoscenza dimenticata e un elenco di oggetti conoscenza dimenticata relativa ai filtri.

Spazio dei nomi: Microsoft.Synchronization
Assembly: Microsoft.Synchronization (in microsoft.synchronization.dll)

Sintassi

'Dichiarazione
Sub SaveKnowledgeWithFilterForgottenKnowledge ( _
    syncKnowledge As SyncKnowledge, _
    forgottenKnowledge As ForgottenKnowledge, _
    filterForgottenKnowledge As ForgottenKnowledge() _
)
'Utilizzo
Dim instance As IFilterTrackingNotifyingChangeApplierTarget
Dim syncKnowledge As SyncKnowledge
Dim forgottenKnowledge As ForgottenKnowledge
Dim filterForgottenKnowledge As ForgottenKnowledge()

instance.SaveKnowledgeWithFilterForgottenKnowledge(syncKnowledge, forgottenKnowledge, filterForgottenKnowledge)
void SaveKnowledgeWithFilterForgottenKnowledge (
    SyncKnowledge syncKnowledge,
    ForgottenKnowledge forgottenKnowledge,
    ForgottenKnowledge[] filterForgottenKnowledge
)
void SaveKnowledgeWithFilterForgottenKnowledge (
    SyncKnowledge^ syncKnowledge, 
    ForgottenKnowledge^ forgottenKnowledge, 
    array<ForgottenKnowledge^>^ filterForgottenKnowledge
)
void SaveKnowledgeWithFilterForgottenKnowledge (
    SyncKnowledge syncKnowledge, 
    ForgottenKnowledge forgottenKnowledge, 
    ForgottenKnowledge[] filterForgottenKnowledge
)
function SaveKnowledgeWithFilterForgottenKnowledge (
    syncKnowledge : SyncKnowledge, 
    forgottenKnowledge : ForgottenKnowledge, 
    filterForgottenKnowledge : ForgottenKnowledge[]
)

Parametri

  • syncKnowledge
    Conoscenza aggiornata da salvare.
  • forgottenKnowledge
    Conoscenza dimenticata da salvare. Se questo parametro è Null, la conoscenza dimenticata esistente non viene modificata e non deve essere sostituita.
  • filterForgottenKnowledge
    Elenco di oggetti conoscenza dimenticata relativa ai filtri da salvare. Questo elenco viene ordinato in base alle chiavi dei filtri nella mappa di chiavi dei filtri.

Osservazioni

syncKnowledge deve sostituire la conoscenza esistente per l'ambito. Se forgottenKnowledge non è Null, forgottenKnowledge deve sostituire anche la conoscenza dimenticata per l'ambito; in caso contrario, la conoscenza dimenticata esistente deve essere mantenuta. Gli oggetti conoscenza dimenticata relativa ai filtri contenuti in filterForgottenKnowledge devono sostituire gli oggetti conoscenza dimenticata relativa ai filtri corrispondenti della replica. Sync Framework chiama questo metodo una volta per ogni batch di modifiche dopo l'elaborazione di tutte le modifiche nel batch di modifiche.

Esempio

Nell'esempio seguente viene salvato l'elenco di oggetti conoscenza dimenticata relativa ai filtri nella replica, quindi viene chiamato StoreKnowledgeForScope per salvare la conoscenza aggiornata e la conoscenza dimenticata.

Public Sub SaveKnowledgeWithFilterForgottenKnowledge(ByVal syncKnowledge As SyncKnowledge, ByVal forgottenKnowledge As ForgottenKnowledge, ByVal filterForgottenKnowledge As ForgottenKnowledge()) Implements IFilterTrackingNotifyingChangeApplierTarget.SaveKnowledgeWithFilterForgottenKnowledge
    ' First update the list of filter forgotten knowledge objects.
    For iFilter As Integer = 0 To filterForgottenKnowledge.Length - 1
        DirectCast(_filterKeyMap(iFilter), AddressFilter).FilterForgottenKnowledge = filterForgottenKnowledge(iFilter)
    Next

    ' Update the list of filters that are stored in the custom replica metadata.
    AddressFilter.StoreFiltersInReplicaMetadata(_ContactStore.ContactReplicaMetadata, _ContactStore.TrackedFilters)

    ' Store the remaining knowledge objects.
    StoreKnowledgeForScope(syncKnowledge, forgottenKnowledge)
End Sub
public void SaveKnowledgeWithFilterForgottenKnowledge(SyncKnowledge syncKnowledge, ForgottenKnowledge forgottenKnowledge, ForgottenKnowledge[] filterForgottenKnowledge)
{
    // First update the list of filter forgotten knowledge objects.
    for (int iFilter = 0; iFilter < filterForgottenKnowledge.Length; iFilter++)
    {
        ((AddressFilter)_filterKeyMap[iFilter]).FilterForgottenKnowledge = filterForgottenKnowledge[iFilter];
    }

    // Update the list of filters that are stored in the custom replica metadata.
    AddressFilter.StoreFiltersInReplicaMetadata(_ContactStore.ContactReplicaMetadata, _ContactStore.TrackedFilters);

    // Store the remaining knowledge objects.
    StoreKnowledgeForScope(syncKnowledge, forgottenKnowledge);
}

Vedere anche

Riferimento

Interfaccia IFilterTrackingNotifyingChangeApplierTarget
Membri IFilterTrackingNotifyingChangeApplierTarget
Spazio dei nomi Microsoft.Synchronization