Avatar billede ihtezaz Praktikant
24. januar 2006 - 00:46 Der er 3 kommentarer

Static objekter, der skal genskabes efter genstart eller oprydnin

Hej,

Jeg har nogle static objecter i min asp.net applikation. Disse objekter indeholder hver en bestemt state, som de skal blive ved selv efter et evt. server nedbrud eller længere lukning af applikationen. Måden jeg håndtere dette på, på nuværende tidspunkt er, ved at oprette objecterne og gemme deres state, fra deres starts state kan jeg nemlig hele tiden regne deres nuværende state ud. Ved et server nedbrud forsvinder mine static objekter fra hukommelsen, som jeg igen oprettet i global.asax application_start event, dette virker også helt fint. Problemmet kommer når jeg lukker min applikation ned i et kort øjeblik f.eks. 2-3 min. for der bliver application_start event kørt og opretter mine objekter, men fordi de gamle static objecter stadig ligger i hukommelsen, så har jeg lige pludslig 2 af hver object. Hvordan kan jeg tjekke på om eksisterende static objecter allerede existere inden jeg opretter de nye.

På forhånd tak.
Avatar billede tjp Mester
24. januar 2006 - 02:06 #1
Hvad om du gemte et Singleton-objekt sammen med dine statiske objekter?
Avatar billede snepnet Nybegynder
24. januar 2006 - 16:01 #2
if(yourObject == null)
men ellers som tip nævner - så er singletons det fornuftigt mønster at vælge til den type klasser.
arne har lave en artikel om det herude.
mvh
Avatar billede snepnet Nybegynder
24. januar 2006 - 16:03 #3
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