11

アプリケーションを再構築するための修正を行っており、通常の WPF アプリケーションの代わりに UWP を使用できるかどうかを検討しています。

私たちのアプリケーションは、ファイルシステム全体とすべてのシステム リソースにアクセスできる必要があります。UWP アプリはサンドボックス化されているため、これは問題です。ただし、次の方法でアプローチすることで、その問題を回避しようとしています。

  • Windows サービス-> システム上で常に実行中。これは、システム リソースへのアクセスと変更に関するコア機能をホストします。

  • UWP アプリケーション-> UWP はサンドボックス化されているため、UWP アプリはすべてのシステム要求を Windows サービスに転送し、Windows サービスはすべての面倒な作業を行い、出力を返すだけです。

これは WPF で簡単に実行できますが、ライブ タイルや Cortana など、WPF に欠けている新しい Windows 10 コア機能を利用するために UWP を使用したいと考えています。

私たちのアプローチは実現可能だと思いますか?不確かな点の 1 つは、UWP アプリを Windows サービスと通信させる方法です。SignalR やデスクトップ ブリッジなどを調査しましたが、シナリオに最適なアプローチはどれかわかりません。

ありがとう!

4

3 に答える 3

0

共有メモリを介して、UWP と .Net Framework Windows サービスの間で IPC 用のライブラリを作成しました。Full Trust 機能を使用したり、ネットワーク ループバック ルールを構成したりする必要はありません。共有オブジェクトを作成するときは、アクセス ルールを明示的に設定し、UWP アプリを ACL に追加するだけで、Windows サービスによって作成されたミューテックス / セマフォ / イベントおよびメモリ マップされたグローバルな名前付きファイルを開くことができます。

ソースコード、ツール、サンプルを含む GitHub リポジトリ

ナゲットパッケージ

于 2021-02-25T12:39:46.527 に答える