10

概要:複数の異なるユーザーが、特定のマシンで私のアプリケーションを使用します。どのユーザーがアプリケーションを実行しているかに関係なく、このマシンの単一の共通ファイルにアプリケーションのデータを保存する必要があります。

私が望むものを達成するために、この質問が関連するかどうか疑問に思っています: 「SpecialFolder.LocalApplicationData」と「SpecialFolder.ApplicationData」の違い?

その質問とその回答から、次のことがわかります。

Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) 

マシンに固有です。私がグーグルで見つけた情報のいくつかはそれを裏付けています。LocalApplicationDataただし、それはユーザー固有であるという情報も見つけました。

それで、どれが本当ですか?そして、「ユーザー固有」と「マシン固有」の本当の意味を誰か教えてもらえますか?

これが私が考えていることです:LocalApplicationDataマシン固有の場合、それをベースとして、アプリケーションにすべてのデータをすべてのユーザーの単一の共通ファイルに保存させることができます。

ApplicationDataフォルダーについても疑問に思っています:

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)

代わりに、必要ApplicationDataなものを取得するために使用する必要がありますか?

4

1 に答える 1

8

ApplicationDataとの両方LocalApplicationDataは、現在ログインしているユーザーのみがアクセスできます。これら 2 つの違いはApplicationData、エンタープライズ環境でユーザーが使用している他のデバイスに複製および同期されることです。ユーザーの設定を保存するために使用されます。

Raymond が提案したように ( docs を参照)、別のフォルダーを使用する必要があります。CommonDocumentsドキュメントをすべてのユーザー間で共有する場合に適しています。CommonMusic音楽などを保存している場合...

アプリケーション固有のファイルを保存する場合は、次を使用します。

Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)
于 2015-04-21T18:47:16.183 に答える