DeserializeReplicaMetadata 方法
将规范元数据文件的内容反序列化到元数据存储服务存储区。提供程序版本发生更改时,还可以选择升级元数据存储格式。
命名空间: Microsoft.Synchronization.MetadataStorage
程序集: Microsoft.Synchronization.MetadataStorage(在 Microsoft.Synchronization.MetadataStorage.dll 中)
语法
声明
Public Overrides Function DeserializeReplicaMetadata ( _
serializedFilePath As String, _
expectedProviderCompatibilityVersion As UInteger, _
providerUpgradeCallback As IProviderUpgradeCallback _
) As Boolean
用法
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
abstract DeserializeReplicaMetadata :
serializedFilePath:string *
expectedProviderCompatibilityVersion:uint32 *
providerUpgradeCallback:IProviderUpgradeCallback -> bool
override DeserializeReplicaMetadata :
serializedFilePath:string *
expectedProviderCompatibilityVersion:uint32 *
providerUpgradeCallback:IProviderUpgradeCallback -> bool
public override function DeserializeReplicaMetadata(
serializedFilePath : String,
expectedProviderCompatibilityVersion : uint,
providerUpgradeCallback : IProviderUpgradeCallback
) : boolean
参数
- serializedFilePath
类型:System. . :: . .String
包含特定副本的序列化元数据的文件。
- expectedProviderCompatibilityVersion
类型:System. . :: . .UInt32
应包含在规范元数据文件中的提供程序兼容性版本。如果所需版本与实际版本不一致,则应在 providerUpgradeCallback 为 nullNothingnullptrunitnull 引用(在 Visual Basic 中为 Nothing) 时令反序列化失败;或者在 providerUpgradeCallback 不为 nullNothingnullptrunitnull 引用(在 Visual Basic 中为 Nothing) 时调用 providerUpgradeCallback 方法。有关更多信息,请参见 fb008b8f-a90b-4cbc-b718-7cb9c92a26ea 访问来自不同版本的组件的元数据和 b3ff82fb-f946-4b7f-8a32-655535cf5e92 升级元数据存储区版本。
- providerUpgradeCallback
类型:Microsoft.Synchronization.MetadataStorage. . :: . .IProviderUpgradeCallback
由于包含在序列化元数据中的提供程序版本不同于 expectedProviderCompatibilityVersion 而必须升级元数据存储格式时调用的回调方法。
返回值
类型:System. . :: . .Boolean
存在要反序列化的元数据时为 true;否则为 false。
异常
异常 | 条件 |
---|---|
ArgumentNullException | 必需的参数为 null Nothing nullptr unit null 引用(在 Visual Basic 中为 Nothing) 。 |
ArgumentException | serializedFilePath 是一个空字符串。 |
ExplicitTransactionRequiredException | 要在其中反序列化元数据的事务不可用。 |
MetadataStoreProviderVersionMismatchException | 为 expectedProviderCompatibilityVersion 指定的提供程序兼容性版本与规范元数据文件中指定的版本不一致,并且 providerUpgradeCallback 为 null Nothing nullptr unit null 引用(在 Visual Basic 中为 Nothing) 。 |
SyncInvalidOperationException | 元数据存储区未打开。 |
注释
调用此方法之前必须满足三个条件:
必须打开元数据存储区。通过调用 OpenStore 或 CreateStore 可打开存储区。
反序列化其数据的副本必须已初始化其元数据存储区。若要初始化元数据存储区,请调用 InitializeReplicaMetadata。
活动事务必须对 SqlMetadataStore 对象可用。通过调用 BeginTransaction 可启动事务。
在未满足上述任一条件时调用此方法会导致出现异常。
此方法可用作在提供程序版本更改时升级元数据架构的过程的一部分。有关详细信息,请参阅升级元数据存储区版本。
请参阅
参考
SqlSyncMetadataStoreSerializer类