C# 删除多个文件时UWP StorageLibraryContentChangedTrigger
我正在使用BackgroundTask跟踪图片库中的文件和文件夹更改。这很有效,但当我一次删除多个文件时,不会触发BackgroundTask 这是我的BG任务注册C# 删除多个文件时UWP StorageLibraryContentChangedTrigger,c#,uwp,win-universal-app,background-task,change-tracking,C#,Uwp,Win Universal App,Background Task,Change Tracking,我正在使用BackgroundTask跟踪图片库中的文件和文件夹更改。这很有效,但当我一次删除多个文件时,不会触发BackgroundTask 这是我的BG任务注册 private async void RegisterTask() { var result = await BackgroundExecutionManager.RequestAccessAsync(); var builder = new BackgroundTaskBuilder(); builder
private async void RegisterTask()
{
var result = await BackgroundExecutionManager.RequestAccessAsync();
var builder = new BackgroundTaskBuilder();
builder.Name = taskName;
builder.TaskEntryPoint = taskEntryPoint;
StorageLibrary picturesLibrary = await StorageLibrary.GetLibraryAsync(KnownLibraryId.Pictures);
StorageLibraryContentChangedTrigger libraryTrigger = StorageLibraryContentChangedTrigger.Create(picturesLibrary);
builder.SetTrigger(libraryTrigger);
builder.Register();
}
这是我的简单测试BG任务
public async void Run(IBackgroundTaskInstance taskInstance)
{
var deferral = taskInstance.GetDeferral();
try
{
await DoWork();
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine("ERROR BG: " + ex.Message.ToString());
}
deferral.Complete();
}
最后是我的嫁妆任务
private async Task DoWork()
{
StorageLibrary picturesLibrary=等待StorageLibrary.GetLibraryAsync(KnownLibraryId.Pictures);
StorageLibraryChangeTracker picturesTracker=picturesLibrary.ChangeTracker;
picturesTracker.Enable();
StorageLibraryChangeReader-changeReader=picturesTracker.GetChangeReader();
IReadOnlyList changes=等待changeReader.ReadBatchAsync();
foreach(存储库更改中的更改)
{
//阅读变化
}
等待changeReader.AcceptChangesSync();
}
我错过什么了吗?仅删除一个文件时,将成功触发BackgroundTask,但从PicturesLibrary中同时删除多个文件时不会触发
致意
我错过什么了吗?仅删除一个文件时,将成功触发BackgroundTask,但从PicturesLibrary中同时删除多个文件时不会触发
当前行为是,删除多个文件时,更改记录将推迟到下一次更改中的记录
例如,删除两个文件后,我们创建了一个新文件,任务被触发,删除更改包含在StorageLibraryChange列表中:
[2/28/2017 4:52:35 PM] Background LibFileChangeTask Start
Path: C:\Users\xxxx\Pictures\2.txt
ChangeType: Deleted
Path: C:\Users\xxxx\Pictures\1.txt
ChangeType: Deleted
Path: C:\Users\xxxx\Pictures\New Text Document.txt
ChangeType: Created
我们已经提交了此问题,相关团队正在策划此事。感谢您的回复。那么这个问题应该在下一个Windows 10(移动)版本中解决吗?@andy不能保证,相应的团队正在处理其他具有最高优先级的任务,我将关注这个问题并在这里发布更新。谢谢你的理解。好的,我理解。谢谢你的调查!这个问题似乎在创建者更新中没有得到解决,对吗?
[2/28/2017 4:52:35 PM] Background LibFileChangeTask Start
Path: C:\Users\xxxx\Pictures\2.txt
ChangeType: Deleted
Path: C:\Users\xxxx\Pictures\1.txt
ChangeType: Deleted
Path: C:\Users\xxxx\Pictures\New Text Document.txt
ChangeType: Created