0

現在、Windows ストア アプリのスイートの開発を計画しています。彼らは独立しており、完全に単独で機能しますが、関連があり、協調して行動します。ユーザーが複数の設定を持っている場合は、設定 (およびデータ) の一部を共有して、ユーザーがすべての設定を手動で変更する必要がないようにする必要があります。

そのようなシナリオは意図されていますか?

そして、それを実装する方法は?

  • レジストリ: 機能しません。アプリはレジストリにアクセスできません。
  • ApplicationData (LocalFolder、LocalSettings など): 機能しません。アプリは他のアプリのデータにアクセスできません。
  • クラウド サービス: ある程度は機能しますが、マシンがオンラインの場合のみです。私たちのアプリもオフラインで動作するはずです。また、そのようなクラウド サービスを作成/レンタルする必要があり、追加のコストが発生します。
  • KnownFolder.DocumentsLibrary: これは、現在のところ、私にとって唯一の解決策のようです。アプリはすでにそこにデータを保存して共有しているので、設定もそこに保存しましょう。しかし、共有フォルダの名前は設定の 1 つです。また、Windows ストア アプリは隠しファイルを作成できないため、ユーザーは設定ファイルを見ることができます。これにより、このソリューションは少し...「ラフ」になります。

私が見逃した他のアイデアや追加情報はありますか?

4

2 に答える 2

0

デバイスがオフラインの場合でも、それらを即座に同期させたい場合は、それが唯一のオプションです。Windows 8アプリは、設定を共有することを目的としていません。

于 2013-01-25T13:51:47.340 に答える
0

共有したいことがたくさんあります。

  1. ローミングAPIは、同じアプリ、同じユーザー、任意のW8デバイスとのみ共有します。
  2. SkyDriveは、すべてのアプリ、同じユーザー、すべてのデバイスでのみ共有します。
  3. Azure(または任意のWebサービス)を使用すると、すべてのアプリ、すべてのユーザー、すべてのデバイスで共有されます。

これをしないでください

  1. レジスタを使用しないでください。APIはサポートされていません
  2. ファイルシステムを使用しないでください。境界が原因でアプリが脆弱になります
  3. ApplicationData.AnyFolderは使用しないでください。これは、単一のアプリGUIDに制限されています。

あなたはあなたの言語から「即座に」抜け出すほうがよいでしょう、男。それは起こりません。しかし、あなたは速くすることができます(それをほぼ瞬時に呼びましょう)。SocketsまたはSignalRを使用して、クライアントをサービスに接続し、ほぼ瞬時に応答することができます。あまり洗練されていないアプローチは、クライアントからもポーリングすることです。それは何十年もの間開発者に役立ってきました。

于 2013-01-25T21:25:41.453 に答える