Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Linq2Sql datacontext memory leak

[es] :: .NET :: .NET Desktop razvoj :: Linq2Sql datacontext memory leak

[ Pregleda: 1230 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

MatezYU

Član broj: 4114
Poruke: 1586
*.otpbanka.rs.



+17 Profil

icon Linq2Sql datacontext memory leak31.03.2011. u 08:13 - pre 159 meseci
Pozdrav,

U pitanju je win forms alplikacija. Imam 10-tak child formi (uglavnom neki sifarnici).
U svakoj child formi kreiram instancu DataContext-a i prikazujem podatke u grid-u.
Desava mi se da u toku rada, aplikacija zauzme po par stotina megabajta ram memorije.
Nije mi jasno zasto garbage collector ne cisti objekte koji vise nisu u upotrebi?
Trebalo bi cim se zatvori child forma da se ocisti i datacontext objekat koji je kreiran na toj formi?

Interesuje me, da li je bolje da postoji jedan datacontext na nivou cele aplikacije ili svaki modul da kreira zasebno datacontext na nivou forme?
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Linq2Sql datacontext memory leak31.03.2011. u 08:25 - pre 159 meseci
Mozda imas puno rama i lifetime contexta ti je dug pa ode u Gen2. U svakom slucaju osiguraj se da disposujes datacontext kad ti vise nije potreban. Sem toga pitanje je previse uopsteno, negde si zakacio referencu van forme i podaci su ostali.
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

MatezYU

Član broj: 4114
Poruke: 1586
*.otpbanka.rs.



+17 Profil

icon Re: Linq2Sql datacontext memory leak31.03.2011. u 11:34 - pre 159 meseci
Kada mi se otvori forma sa gridom kreiram instancu datacontext-a.
Svaki put kada unose novi slog u tabelu otvara se nova forma i ona ima svoj novi datacontext.
Kada se zatvori forma za unos novog sloga u ovoj prvoj formi sa gridom radim ponovno rekreiranje datacontext-a da bi osvezio podatke.

dc = new DataContext();

Ta forma sa gridom je otvorena po 2-3 sata i non stop je instanciran datacontext dok je ona otvorena. Da li je mozda u tome problem?
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4784 Profil

icon Re: Linq2Sql datacontext memory leak31.03.2011. u 12:40 - pre 159 meseci
Umesto da kreiras DataContext u toj formi u kojoj pravis novi unos, napravi u formi objekat prosledi ga glavnoj formi i ona neka uradi unos u bazu.
Takodje, ne moras rekreirati DataContext da bi osvezio podatke. Dovoljno je da iz postojeceg samo ponovo povuces podatke i prikazes.
 
Odgovor na temu

MatezYU

Član broj: 4114
Poruke: 1586
*.otpbanka.rs.



+17 Profil

icon Re: Linq2Sql datacontext memory leak31.03.2011. u 12:44 - pre 159 meseci
U toj formi na kojoj je grid moram uraditi ponovno rekreiranje datacontext-a jer postoji mogucnost da neko drugi unese podatak u tu tabelu (na drugoj lokaciji).

Tadje me interesuje sta sa master-detail tabelama?
U tim formama datacontext mora biti uvek instanciran kako bi radilo punjenje podataka u detail tabelu? (kada se krecem po master tabeli u gridu)
 
Odgovor na temu

[es] :: .NET :: .NET Desktop razvoj :: Linq2Sql datacontext memory leak

[ Pregleda: 1230 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.