Toon posts:

[ASP.Net] Wanneer Session weggooien?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een web-applicatie gebouwd, waarbij wat informatie in een Session wordt opgeslagen. Dit zorgt er ehter wel voor dat het geheugen van de server volloopt. Daarom wil ik graag dat de Session-informatie wordt geleegd als de gebruiker de web-applicatie afsluit. De code die hiervoor gebruikt kan worden is:

code:
1
Session.Clear()

of
code:
1
Session.RemoveAll()



Ik heb het al geprobeerd via het disposed event van de page 'MyBase.Disposed', maar dit wordt niet afgevuurd bij het sluiten van Internet Explorer. Ik kan er natuurlijk wel een knop 'sluiten' voor maken op een scherm, maar er zijn zat mensen die toch dat kruisje gebruiken om af te sluiten.

[ Voor 7% gewijzigd door Verwijderd op 24-02-2003 12:10 ]


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Het is niet mogelijk om te detecteren of het kruisje van IE wordt ingedrukt. En het is dus ook niet mogelijk om te detecteren waneer een sessie is afgelopen. In je applicatie hoef je hier dan ook geen rekening mee te houden. Want er zit altijd een timeout op een sessie. Als de sessie voor een bepaalde tijd niet meer gebruikt is dan zal de sessie automatisch weggegooid worden.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 23-08 09:52

Pelle

🚴‍♂️

Euh, ik kan het mis hebben hoor, maar een session verloopt toch na een x aantal minuten? Zorgt IIS er dan niet gewoon automatisch voor dat die session uit het geheugen en van disk wordt verwijderd?

Anyhoet, een hele vieze oplossing zou zijn om alles in een frameset te laden, en aan het onUnload event van je body-tag in je frameset-document een functie te hangen die een popup opent en een logout forceert, waarna de popup zichzelf ook weer sluit.
Maar goed, dat is dus een hele omslachtige oplossing voor een probleem dat volgens mij niet eens bestaat :+

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

* gorgi_19 is trouwens wel benieuwd hoeveel unique visitors de topicstarter verwacht, eer hij zijn geheugen van IIS vol heeft...

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • whoami
  • Registratie: December 2000
  • Laatst online: 11:47
Zoals Pelle zegt, heeft een sessie een time-out. Die kun je instellen in de web.config. Als de sessie ge-timed out (:?) is, dan denk ik wel dat de sessie-objecten van die sessie weggegooid worden.

Ik vraag me ook af hoeveel objecten en hoe groot die objecten wel niet zijn als het geheugen van jouw server volloopt.....

https://fgheysels.github.io/


Verwijderd

Topicstarter
Nouja, vollopen..... ik heb ff met een testtool het systeem getest, en dan zie je langzaam maar zeker het geheugengebruik van ASP.Net toenemen.

Het is natuurlijk wel zo dat die test ontzettend veel traffic genereert, wat niet een reële afspiegeling van de werkelijkheid is. Maar omdat ik liever netjes programmeer en het geheugen vrijgeef als dat niet meer gebruikt wordt, stelde ik mijn vraag.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 25 February 2003 @ 17:18:
Nouja, vollopen..... ik heb ff met een testtool het systeem getest, en dan zie je langzaam maar zeker het geheugengebruik van ASP.Net toenemen.

Het is natuurlijk wel zo dat die test ontzettend veel traffic genereert, wat niet een reële afspiegeling van de werkelijkheid is. Maar omdat ik liever netjes programmeer en het geheugen vrijgeef als dat niet meer gebruikt wordt, stelde ik mijn vraag.
VB.Net / C# hebben beide een Garbage collection, welke op een bepaald moment, als het te gek wordt, de boel wel leegdondert. SessionTimeout kan je sowieso op den duur wel lager zitten, naar bijvoorbeeld 10 minuten, als je dat graag wilt.
Je kan ook met clientside cookies gaan werken, maar ik gok dat je dit niet wilt.

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1