Код: Выделить всё
Cannot create a file when that file already exists. (Exception from HRESULT: 0x800700B7)Кроме того, метод Run первой (успешно зарегистрированной) задачи никогда не вызывается ни до, ни после вызова RequestAsync ее триггера метод (который возвращает Allowed).
Эти две задачи зарегистрированы в манифесте приложения:
Код: Выделить всё
[ ... ]
UI.exe
[ ... ]
[...]
Каждый класс задач имеет следующую подпись (например, ):
Код: Выделить всё
public sealed class BackgroundTaskOne : IBackgroundTask
Код: Выделить всё
var requestTask = BackgroundExecutionManager.RequestAccessAsync().AsTask();
requestTask.Wait();
var builder = new BackgroundTaskBuilder();
builder.Name = GetType().Name;
builder.TaskEntryPoint = GetType().FullName;
// builder.IsNetworkRequested = true;
builder.SetTrigger(trigger);
try {
registration = builder.Register();
return true;
} catch(Exception ex) {
Log.Logger.Error($"BackgroundTaskBuilder.Register: {ex.Message}");
Log.Logger.Information($"Name: {builder.Name}");
Log.Logger.Information($"TaskEntryPoint: {builder.TaskEntryPoint}");
return false;
}
Видимо я не понимаю, что такое уникальность при регистрации фоновой задачи; Я бы предположил, что комбинация Name и, возможно, TaskEntryPoint послужит уникальной идентификации фоновой задачи. Однако это исключение предполагает, что я пытаюсь сделать одно и то же дважды.
Вопросы:
- Должно ли приложение иметь возможность регистрировать более одной фоновой задачи?
- Если да, то что я делаю не так, что получаю это исключение? strong>
- Почему метод Run ни для одной задачи никогда не вызывается?
Подробнее здесь: https://stackoverflow.com/questions/790 ... ask-regist
Мобильная версия