C# 删除多个文件时UWP StorageLibraryContentChangedTrigger

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

我正在使用BackgroundTask跟踪图片库中的文件和文件夹更改。这很有效,但当我一次删除多个文件时,不会触发BackgroundTask

这是我的BG任务注册

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