2017-10-05 7 views
1

SignalRクライアントとして機能するUWP Windows 10アプリケーションがあります。私は前にこの作業をしていましたが、最近このエラーが発生し始めました:Error HRESULT E_FAIL has been returned from a call to a COM component。何が変わったのか分かりません。ソース管理には何も変わりません。 ApplicationTriggerでバックグラウンドタスクをトリガーしようとすると表示されます。ここでUWP(Windows 10)バックグラウンドタスク - エラーCOMコンポーネント(VS2017)の呼び出しからHRESULT E_FAILが返されました

は私の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メッセージを受信して​​います。

答えて

1

問題は、私のWindows 10のプライバシー設定でこのアプリケーションのバックグラウンドタスクが無効になっていたことでした。

システム設定=>プライバシー設定=>背景アプリ

BackgroundExecutionManager.RequestAccessAsync()BackgroundAccessStatus.DeniedBySystemPolicyを返したように私は私のバックグラウンドタスクの登録時にこれを発見しました。

関連する問題