UWP (Windows 10) Фоновая задача — ошибка HRESULT E_FAIL была возвращена при вызове COM-компонента (VS2017)

У меня есть приложение UWP для Windows 10, предназначенное для работы в качестве клиента SignalR. У меня это работало раньше, но недавно я начал получать эту ошибку: Error HRESULT E_FAIL has been returned from a call to a COM component. Не уверен, что изменилось, ничего странного в системе контроля версий. Это происходит, когда я пытаюсь запустить фоновую задачу через файл ApplicationTrigger.

Вот код в моем App.XML:

private void SignalR()
{
    _hubConnection = new HubConnection("http://localhost/hollerhub");
    _hubConnection.Credentials = CredentialCache.DefaultCredentials;
    _toast = _hubConnection.CreateHubProxy("toast");
    _toast.On<string>("broadcastMessage", msg =>
    {
        var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
        localSettings.Values["toastInfo"] = msg;
        var appTrigger = new ApplicationTrigger();
        appTrigger.RequestAsync().GetResults();  // <--- This is where the error is thrown
    });

    _hubConnection.Start(); 
}

Фоновая задача регистрируется при запуске приложения, но ApplicationTrigger не достигает моего кода фоновой задачи до сбоя. Он получает сообщение SignalR просто отлично.


person codeMonkey    schedule 05.10.2017    source источник


Ответы (1)


Проблема заключалась в том, что у меня были отключены фоновые задачи для этого приложения в настройках конфиденциальности Windows 10.

Системные настройки => Настройки конфиденциальности => Фоновые приложения

Я обнаружил это во время регистрации фоновой задачи, поскольку BackgroundExecutionManager.RequestAccessAsync() возвращал BackgroundAccessStatus.DeniedBySystemPolicy.

person codeMonkey    schedule 05.10.2017