4

通常のWPFアプリケーションの代わりにUWPを使用できるかどうかについては、アプリケーションを再設計するように修正されています。UWPアプリケーションとWindowsサービスとの通信

私たちのアプリケーションでは、ファイルシステム全体とすべてのシステムリソースにアクセスする能力が必要です。 UWPアプリはサンドボックス化されているため、これは問題です。しかし、我々はこのようにし、それに近づくために試みることによってその問題を回避しようとしている。

  • Windowsサービス - >すべての回でシステム上で実行されています。 システムリソースにアクセスして変更する場合、これはコア機能をホストします。

  • UWPアプリケーション - > UWPは、サンドボックス化されているので、矛先作業のすべて を行うと、ちょうど出力を返しますWindowsサービス、へのすべてのシステム要求を転送しますUWPアプリ。私たちは、単にWPFでこれを行うことができますが、我々はいくつかの新しいWindows 10コアを利用するためにUWPを使用したい

は、WPFは、ライブタイルやコルタナとして欠けてます。

私たちのアプローチは実現可能だと思いますか?私たちの不確実な点の1つは、UWPアプリケーションをWindowsサービスと通信させる方法です.Windows ServiceとSignalRやDesktop Bridgeのようなものを見てきましたが、私たちのシナリオにとっては最良のアプローチかもしれません。

ありがとうございます!

答えて

1

私たちのアプローチは実現可能だと思いますか?

UWPアプリケーションでWindowsサービスを直接使用することはできません。 Win32アプリケーションとUWPアプリケーション間でIPCを作成するには、ここで新しい機能<rescap:Capability Name="runFullTrust" />を使用し、FullTrustProcessLauncher APIによって起動されるWin32アプリケーションを有効にして、WinRT APIを使用するアップレベルのアプリケーションセキュリティコンテキストを実現します。しかしここでrescapが表示されているように、このUWPアプリをStoreに公開することはできません。

公式AppService Bridge Sampleを参照できます。このアプリケーションをビルドした後(実行しないでください)、.exeファイルが作成された後、App service(従来のWindowsサービスではなくWPFおよびUWPアプリケーションと通信できる)およびWinRT APIを使用する従来のデスクトップアプリケーションを最初に作成できます。生成される。しかし、このアプリはWinRT APIを使用しているので実行できません。このデスクトップアプリを実行可能にするためにUWPアプリを作成できます。

私たちはSignalRとDesktop Bridgeのようなものを調べましたが、私たちのシナリオでは最良のアプローチかもしれません。

だから、ここではデスクトップブリッジが最適なアプローチだと思います。

関連する問題