c # - Forskel mellem 'SpecialFolder.LocalApplicationData' og 'SpecialFolder.ApplicationData'?

Indlæg af Hanne Mølgaard Plasc

Problem



På mit system fører \%AppData\% til ApplicationData som er C:Users<USER>AppDataRoaming


Men der er også C:Users<USER>AppDataLocal

Og for lidt mere forvirring D:Users<USER>AppDataLocalLow


string local = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
string roaming = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);


Mit spørgsmål er, på hvilke af disse steder skal min ansøgning gemme sine data?


Er der retningslinjer for, hvilke af disse steder skal du bruge? Og forlader jeg mig selv for problemer, hvis jeg vælger den forkerte placering?

Bedste reference


Roaming -mappen kopieres mellem maskiner, når roaming-profiler er aktiveret (i et domæne-miljø). Brug den til applikationsdata, som du vil dele mellem maskiner. Men gem ikke store filer derinde - IT-afdelinger synes ikke om det, når du gør det, og det øger den tid, brugeren skal logge på og logge ud, da filerne kopieres.


Mappen Local kopieres ikke mellem maskiner. Brug den til applikationsdata, som er specifikke for en maskine.


LocalLow -mappen bruges til opgaver med lav privilegium (f.eks. Internet Explorer). Du behøver ikke bekymre dig om det.


For filer, som brugeren specifikt gemte, skal du sætte dem (som standard) i mappen Documents.

Andre referencer 1


Ifølge MSDN er forskellen, at LocalApplicationData forbliver på den lokale maskine og ikke strejfer ... ApplicationData går f.eks., Hvis brugeren logger på domænet fra en anden computer, bliver den synkroniseret. . [18]


LocalLow refererer til specifikke situationer soma BHO kører i 'Beskyttet tilstand' af IE ...


For en standardapplikation skal du altid bruge ApplicationData. Brug LocalApplicationData til ting, der IKKE skal gå rundt med brugeren ...

Andre referencer 2


Fra MSDN - Environment.SpecialFolder Opgørelse: [19]



  ApplicationData - Den mappe, der fungerer som et fælles arkiv for applikationsspecifikke data for den nuværende roamingbruger.
  En roamingbruger arbejder på mere end en computer på et netværk. En roaming-brugerens profil bevares på en server på netværket og indlæses på et system, når brugeren logger på.

  
  LocalApplicationData Den mappe, der fungerer som et fælles arkiv for applikationsspecifikke data, som bruges af den nuværende, ikke-roaming-bruger.



Kort sagt, brug ApplicationData til roaming-profiler og LocalApplicationData til ikke-roaming-profiler.