Avatar billede moddi100 Seniormester
20. december 2008 - 18:37 Der er 9 kommentarer og
2 løsninger

Placering af brugerdata på harddisk

Hej

Hvor bør man gemme data som brugeren giver til et program? Skal jeg gemme det i mappen, hvor programmet er installeret/ligger eller hvor?

- Morten
Avatar billede arne_v Ekspert
20. december 2008 - 18:44 #1
Følgende er totalt uafhængigt af teknologien (C#).

De to klassiske muligheder må være:

C:\Program Files\dinapp\data

og:

C:\Documents and Settings\brugernavn\Application Data\dinapp

Hvilken du skal vælge afhænger af:
- skal data deles eller ikke deles af forskellige brugere på samme PC
- skal data slettes hvis programmet afinstalleres

Overvej også hvad der skal ske når softwaren opdateres til en nyere version.
Avatar billede moddi100 Seniormester
20. december 2008 - 18:54 #2
Hvis data kun skal være tilgængelig for den samme bruger, er jeg vel så tvunget til at gemme data i brugerens mappe? Også selvom det gerne skal slettes, når programmet afinstalleres.

Og er C:\Documents and Settings\brugernavn ikke det samme som C:\Users\brugernavn??
Avatar billede coderdk Praktikant
20. december 2008 - 19:01 #3
System.Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) ?
Avatar billede kalp Novice
20. december 2008 - 19:07 #4
moddi100 >>

Hvis du benytter klasserne indenfor IsolatedStorage, så bliver dine filer (i tekst form, f.eks XML) gemt automatisk under:
C:\Documents and Settings\brugernavn\Application Data\

Mappen Users er for Vista og det er teknisk set det samme, men om IsolatedStorage automatisk finder dennes placering skal du lige se i dokumentationen.
Avatar billede moddi100 Seniormester
21. december 2008 - 11:31 #5
Jeg bør vel oprette en mappe på placeringen når jeg bruger IsolatedStorage eller System.Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)?
Avatar billede kalp Novice
21. december 2008 - 12:15 #6
Nej det klare klasserne for dig.
Du opretter dine mapper/filer via. relative stier.

f.eks //fil.txt

og den vil havne korrekt for den pågældende bruger hvis du har hentet IsolatedStorage ind for denne. Det kan også gøres på maskine niveau osv.
men ud fra din kommentar ser det ikke ud til du har kigget på hvad det egentlig er:)
Avatar billede moddi100 Seniormester
21. december 2008 - 16:18 #7
Når man kigger på mappestrukturen i mappen Application Data, er der en mappe, for hvert program. Ville så bare gerne vide om jeg selv skulle oprette den mappe eller om den automatisk bliver oprettet. Men ja, jeg burde nok bare have testet det. (Hvilket jeg så vil gøre om lidt)
Avatar billede moddi100 Seniormester
21. december 2008 - 16:42 #8
Okay, IsolatedStorage gør det. Den laver faktisk  en forfærdelig masse mapper.

Hvad er så bedst at bruge? Skal jeg anvende IsolatedStorage eller skal jeg bare hente stien med Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)??
Avatar billede moddi100 Seniormester
21. december 2008 - 16:54 #9
Er kommet frem til IKKE at bruge IsolatedStorage.

Smider I alle et svar?
Avatar billede arne_v Ekspert
21. december 2008 - 19:05 #10
.
Avatar billede coderdk Praktikant
21. december 2008 - 21:36 #11
:)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester