1

Windows 8 アプリで C# で記述されたバックグラウンド タスクがあり、それを UI タスクに接続するのに問題があります。バックグラウンド タスクで StreamSocketListener を開き、UI タスクでそれに接続するために StreamSocket を開こうとしましたが、その逆も同様です。UI タスクまたはバックグラウンド タスクにリスナーとコネクタの両方がある場合、すべて正常に動作します。ただし、この 2 つの間には何らかの隔離が行われているようです。

両方の外部サービスに接続することもできるので、ループバック免除が必要なことと関係があるのではないかと思いましたが、AppContainer Loopback Exemption Utility を開くとすべてが表示されるため、そうではないようです。ループバック アクセスを持つアプリ。

アプリのこれら 2 つの部分間のネットワーク通信を適切に機能させるために有効にする必要があるものは他にありますか? パッケージ マニフェストでプライベート ネットワーク (クライアントとサーバー) 機能を有効にしました (他のクライアント/サーバーのペアは役に立たないので、それを使用しています)

4

1 に答える 1

0

バックグラウンド タスクの完了イベントを使用して、UI で繰り返し実行できます。LocalSettings を使用してデータを渡します。

http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh977055.aspx

private void OnCompleted(IBackgroundTaskRegistration task, BackgroundTaskCompletedEventArgs args)
{
    var settings = ApplicationData.Current.LocalSettings;
    var key = task.TaskId.ToString();
    var message = settings.Values[key].ToString();
    UpdateUIExampleMethod(message);
}
于 2013-03-11T18:58:41.493 に答える