Compartilhar via


Método SqlSyncMetadataStoreSerializer.DeserializeReplicaMetadata

Desserializa o conteúdo de um arquivo de metadados canônico para um repositório do serviço de armazenamento de metadados. Como opção, atualiza o formato do repositório de metadados quando a versão do provedor é alterada.

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

Sintaxe

'Declaração
Public Overrides Function DeserializeReplicaMetadata ( _
    serializedFilePath As String, _
    expectedProviderCompatibilityVersion As UInteger, _
    providerUpgradeCallback As IProviderUpgradeCallback _
) As Boolean
'Uso
Dim instance As SqlSyncMetadataStoreSerializer
Dim serializedFilePath As String
Dim expectedProviderCompatibilityVersion As UInteger
Dim providerUpgradeCallback As IProviderUpgradeCallback
Dim returnValue As Boolean

returnValue = instance.DeserializeReplicaMetadata(serializedFilePath, expectedProviderCompatibilityVersion, providerUpgradeCallback)
public override bool DeserializeReplicaMetadata (
    string serializedFilePath,
    uint expectedProviderCompatibilityVersion,
    IProviderUpgradeCallback providerUpgradeCallback
)
public:
virtual bool DeserializeReplicaMetadata (
    String^ serializedFilePath, 
    unsigned int expectedProviderCompatibilityVersion, 
    IProviderUpgradeCallback^ providerUpgradeCallback
) override
public boolean DeserializeReplicaMetadata (
    String serializedFilePath, 
    UInt32 expectedProviderCompatibilityVersion, 
    IProviderUpgradeCallback providerUpgradeCallback
)
public override function DeserializeReplicaMetadata (
    serializedFilePath : String, 
    expectedProviderCompatibilityVersion : uint, 
    providerUpgradeCallback : IProviderUpgradeCallback
) : boolean

Parâmetros

  • serializedFilePath
    O arquivo que contém os metadados serializados para uma réplica específica.
  • expectedProviderCompatibilityVersion
    A versão de compatibilidade do provedor que está prevista para ser incluída no arquivo de metadados canônico. Se a versão esperada não corresponder à versão real, a desserialização falhará intencionalmente quando providerUpgradeCallback for um referência nula (Nothing no Visual Basic), ou os métodos providerUpgradeCallback serão chamados quando providerUpgradeCallback não for referência nula (Nothing no Visual Basic). Para obter mais informações, consulte Acessando metadados em componentes com versões diferentes e Atualizando a versão do repositório de metadados.
  • providerUpgradeCallback
    Métodos de retorno de chamada que são chamados quando o formato de repositório de metadados deve ser atualizado, pois a versão de provedor contida nos metadados serializados não é igual a expectedProviderCompatibilityVersion.

Valor de retorno

true quando há metadados a serem desserializados; caso contrário, false.

Exceções

Tipo de exceção Condição

ArgumentNullException

Um parâmetro obrigatório é um referência nula (Nothing no Visual Basic).

ArgumentException

serializedFilePath é uma cadeia de caracteres vazia.

ExplicitTransactionRequiredException

Não há uma transação disponível na qual desserializar os metadados.

MetadataStoreProviderVersionMismatchException

A versão de compatibilidade do provedor especificada para expectedProviderCompatibilityVersion não corresponde à versão especificada no arquivo de metadados canônico e providerUpgradeCallback é um referência nula (Nothing no Visual Basic).

SyncInvalidOperationException

O repositório de metadados não está aberto.

Comentários

Três condições devem ser atendidas antes de chamar esse método:

  • O repositório de metadados deve estar aberto. Abra um repositório chamando OpenStore ou CreateStore.

  • O repositório de metadados da réplica para a qual os dados serão desserializados já deverá ter sido inicializado. Para inicializar um repositório de metadados, chame InitializeReplicaMetadata.

  • Uma transação ativa deve estar disponível no objeto SqlMetadataStore. Inicie uma transação chamando BeginTransaction.

Chamar esse método quando alguma dessas condições não for atendida causará uma exceção.

Esse método poderá ser usado como parte do procedimento de atualização do esquema de metadados quando a versão do provedor for alterada. Para obter mais informações, consulte Atualizando a versão do repositório de metadados.

Consulte também

Referência

Classe SqlSyncMetadataStoreSerializer
Membros SqlSyncMetadataStoreSerializer
Namespace Microsoft.Synchronization.MetadataStorage