C# 服务结构:还原到特定版本?
我使用服务结构实现了备份和恢复。 我的备份放入azure上带有时间戳和服务名称的文件夹中 目前我只搜索最新的备份,但是如果我想恢复到旧版本呢 我使用C# 服务结构:还原到特定版本?,c#,azure,sass,backup,azure-service-fabric,C#,Azure,Sass,Backup,Azure Service Fabric,我使用服务结构实现了备份和恢复。 我的备份放入azure上带有时间戳和服务名称的文件夹中 目前我只搜索最新的备份,但是如果我想恢复到旧版本呢 我使用 await fabricClient.TestManager.StartPartitionDataLossAsync(operationId, partitionSelector, DataLossMode.FullDataLoss); 这会触发此处的数据丢失 protected override async Task<bool>
await fabricClient.TestManager.StartPartitionDataLossAsync(operationId, partitionSelector, DataLossMode.FullDataLoss);
这会触发此处的数据丢失
protected override async Task<bool> OnDataLossAsync(RestoreContext restoreCtx, CancellationToken cancellationToken)
{
await this.SetupBackupManager(null);
try
{
string backupFolder = await this.backupManager.RestoreLatestBackupToTempLocation(cancellationToken);
RestoreDescription restoreRescription = new RestoreDescription(backupFolder, RestorePolicy.Force);
await restoreCtx.RestoreAsync(restoreRescription, cancellationToken);
DirectoryInfo tempRestoreDirectory = new DirectoryInfo(backupFolder);
tempRestoreDirectory.Delete(true);
return true;
}
catch (Exception e)
{
throw;
}
}
受保护的覆盖异步任务OnDataLossAsync(RestoreContext RestoreCX,CancellationToken CancellationToken)
{
等待此消息。SetupBackupManager(null);
尝试
{
string backupFolder=wait this.backupManager.restorelatestbackuptemplation(cancellationToken);
RestoreDescription RestoreDescription=新的RestoreDescription(备份文件夹,RestorePolicy.Force);
等待restoreCX.RestoreAsync(restoreDescription,cancellationToken);
DirectoryInfo tempRestoreDirectory=新目录信息(备份文件夹);
tempRestoreDirectory.Delete(true);
返回true;
}
捕获(例外e)
{
投掷;
}
}
我的备份管理器中有我的代码来处理它,但我无法思考/找到将任何内容传递给OnDataLossAsync的方法
RestoreLatestBackupTemplocation查找最新备份 您可以将该信息存储在集群之外,如中,并在恢复期间从中读取 编辑: 我一直在研究一个能让事情变得更简单的方法。欢迎反馈和贡献