diff --git a/App.xaml.cs b/App.xaml.cs index 78bbc01..401b0cf 100644 --- a/App.xaml.cs +++ b/App.xaml.cs @@ -201,9 +201,16 @@ namespace HeBianGu.App.Disk setting.TaskCount); syncModel.SyncProgressText = "同步完成"; }); - - minioService.RealTimeListen(bucketName, setting.SyncDir, - cancellationToken: cancelToken.Token); + Task.Run(async () => + { + await minioService.RealTimeListen(bucketName, setting.SyncDir, ( fileName) => + { + //添加同步信息 + syncModel.SyncProgressText = $"实时同步中: {fileName}"; + }, + cancellationToken: cancelToken.Token); + syncModel.SyncProgressText = $"实时同步完成"; + }); notRun = false; } catch (OperationCanceledException) diff --git a/Services/MinioService.cs b/Services/MinioService.cs index 2754853..d53ef0e 100644 --- a/Services/MinioService.cs +++ b/Services/MinioService.cs @@ -347,7 +347,7 @@ namespace Hopetry.Services } // 实时监听方法 - public async Task RealTimeListen(string bucketName, string localDir, string prefix = "", string suffix = "", + public async Task RealTimeListen(string bucketName, string localDir,Action action, string prefix = "", string suffix = "", CancellationToken cancellationToken = default) { Console.WriteLine("开启实时监听"); @@ -373,6 +373,7 @@ namespace Hopetry.Services }, async (item, _) => { + action(item.objectKey); await DownLoadObject(item.bucketName, item.objectKey, item.localDir, item.objectETag); }); });