Avatar billede Lars Søndergaard Nybegynder
23. juni 2006 - 10:15 Der er 9 kommentarer og
1 løsning

Persistens inspiration og info

Jeg har Winform som loader en masse data fra DB via Internettet ved opstart. Jeg har oplevet at folk løber tør for memory. Nu vil jeg lave systemet om så objekter gemmes som filer på disken.

Hvis jeg laver serialiserer objekter til feks. xml, hvordan sikrer jeg mig at de ikke ligger i hukommelsen begefter?

Hvad er overordnet set den rigtig måde at opbygge et system på med persistent. Jeg har et datalag som henter/gemmer i DB med webservices.

Jeg har brug for inspiration og info om persistens..
Avatar billede neeo Nybegynder
23. juni 2006 - 10:22 #1
kan du bruge cookies ?
Avatar billede Lars Søndergaard Nybegynder
23. juni 2006 - 10:34 #2
nejnej ikke til en Winform.. det er slet ikke i den retning vi skal meeeen du kan da godt sammenligne lidt med en cookie.. man kunne kalde det en kæmpe lagkage :-)
Avatar billede akempff Nybegynder
23. juni 2006 - 11:31 #3
Du kan benytte dig af using blokken, hvilket vil kalde Dispose for dig. Kræve IDisposable interfacet implementeret.

using (SqlConnection connection = new SqlConnection("connection string"))
{
    // Do database access
}


Når denne blok bliver afsluttet bliver Dispose automatisk kaldt på connection.  Du kan så lave din serialiseringer i sådanne code blocks.
Avatar billede akempff Nybegynder
23. juni 2006 - 11:32 #4
Du kunne også kalde garbage collectoren manuelt, men det er vist ikke den bedste måde at gøre det på.

GC.Collect();
Avatar billede arne_v Ekspert
26. juni 2006 - 02:05 #5
Hvis objekterne er rene .NET objekter, så er der ingen grun til IDisposable/using/Dispose.

Hvis der ikke er nogen reference til objekterne og .NET mangler memeory så bliver de
garbage collectet helt uden at man skal gøre noget som helst.

Men jeg tror slet ikke på din ide. At læse en masse objekter op fra database
og så serialisere dem til disk som XML lyder helt forkert. Læs fra database
når du skal brug dem. Lav en fornuftig database struktur. Brug evt. noget
caching til at genbruge allerede loadede objekter. Det lyder meget bedre.
Avatar billede Lars Søndergaard Nybegynder
28. juni 2006 - 10:39 #6
akempff > jeg har ingen sql connections i min app. Jeg bruger jo webservices.

arne > jeg er selv nået frem til samme konklusion. jeg venter med at hente objekter til de skal bruges. det gør min app en lille smule langsommere at anvende, men det er meget lidt. Hvordan mener du mht caching? Det er en win app. jeg laver.
Avatar billede arne_v Ekspert
28. juni 2006 - 14:12 #7
Du laver din egen lille cache
Avatar billede arne_v Ekspert
13. august 2006 - 23:06 #8
subtile ?
Avatar billede Lars Søndergaard Nybegynder
18. august 2006 - 16:05 #9
bare smidt et svar så vi kan få lukket.. jeg henter så få objekter ind som muligt ved opstart og anvender ikke persistens alligevel, og det tror jeg også er meget fornuftigt.. :)
Avatar billede arne_v Ekspert
18. august 2006 - 16:25 #10
ok
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