Windows 8用の新しいMetroスタイルアプリを使用してUIフロントエンドを構築し、同じローカルマシン上のデスクトップで実行されている.NETアプリケーション(Windowsサービスアプリなど)と通信したい場合。
Metroアプリとデスクトップアプリの間で使用できるプロセス間通信の形式は何ですか?
Visual StudioチームのPavel Minaevに感謝します。
Martyn Lovellによれば、そのための意図的なメカニズムはなく、それに使用できるものは意図的に制限されています。たとえば、名前付きパイプは存在せず、メモリマップファイルも存在しません。ソケット(サーバーソケットを含む)がありますが、localhostに接続する場合、同じアプリにしか接続できません。共有「既知のフォルダー」(ドキュメント、画像など)の1つで通常のファイルを使用することもできますが、これはかなり粗雑なハックであり、ポーリングを必要とし、ユーザーに表示されます。- この問題についてコメントするPavel Minaev
したがって、通常のアプローチが失敗したため、Webサービスを使用したり、データベースへの読み取り/書き込みを行ったりして、何らかの形の通信を発生させようと考えていました。
ここで私が試みていることは意味がありますか?デスクトップで実行されている既存のサービスのフロントエンドUIとして、metroアプリが必要であることがわかります。または、デスクトップで実行されているフロントエンドUI(つまり、非メトロアプリ)にWPFを使用する方が良いでしょう。