Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[ASP.NET/] Static VS Application Object

Pagina: 1
Acties:

  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 13-12-2024
Hallo,

Een collega en ik zijn een beetje verward geraakt tijdens het ontwikkelen.
Wij willen een soort van Cache voor een specifiek doel realiseren. We hebben beide verschillende mogelijkheden bekeken en zijn er niet helemaal uitgekomen. De basis vraag is eigenlijk:

als we een static member declareren waarin we deze cache gaan stoppen, bestaat het ding dan altijd? Of kan het zijn dat hij opgeruimd wordt door de garbage collector? (mij lijkt van niet, maar kan geen bevestiging vinden)

Dus we hebben een classe CacheHandler oid.

Deze bevat een static member CacheObject. Blijft deze static beschikbaar door heel de applicatie, voor altijd? gegarandeerd?

Zo ja, wat is dan nog het nut van het application object?

Het zelfde gaat dus op voor een singleton, als deze eenmaal geinstancieerd is, wordt deze nooit meer opgeruimd? (tenzij de applicatie stopt?)

wij zijn er gaande weg van overtuigd geraakt dat een static dus altijd bestaat. Please correct als we fout zitten.

[ Voor 6% gewijzigd door 4of9 op 12-12-2007 11:00 ]

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 11:35

Janoz

Moderator Devschuur®

!litemod

Zolang je een referentie naar een object hebt dan blijft de gc er vanaf. Een static variabele is daar niks anders in. Het verschil met een application object is dat deze wordt beheert door de applicatie server en in de applicatie scope gehouden wordt. De static var is overal beschikbaar. Als een andere applicatie in dezelfde VM draait en dezelfde lib gebruikt dan gebruiken ze ook dezelfde static variabele.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • whoami
  • Registratie: December 2000
  • Laatst online: 29-11 22:54
Je bent ook op de hoogte dat ASP.NET zelf al iets biedt ivm caching ?

https://fgheysels.github.io/