ASPNL logo (1 kb)
dinsdag 13 mei 2008




Microsoft MVP

.NET Codewise Community
<< vorige | overzicht | volgende >>

Session object

Wat is een sessie?

We praten over een sessie als een gebruiker een pagina van een website opvraagt. Alle pagina's die de gebruiker opent behoren tot dezelfde sessie. Een sessie eindigt als de browser gesloten wordt of als de gebruiker voor een bepaalde tijd geen pagina's meer heeft opgevraagd.

Wat is het Session object?

Binnen een sessie is het handig om gegevens te bewaren die relevant zijn voor de gebruiker, bijvoorbeeld een gebruikersnaam en password zodat we weten of de gebruiker toegang heeft tot bepaalde gegevens. Het zou vervelend zijn als de gebruiker deze gegevens telkens weer op zou moeten geven. We kunnen deze gegevens opslaan in het Session object. Het Session object werkt ongeveer hetzelfde als het Application object, met het verschil dat de gegevens in het Application object voor alle gebruikers "zichtbaar" zijn.

session1.asp
<HTML>
<BODY>
<%
Session("Teller") = Session("Teller") + 1
Response.Write Session("Teller")
%>
</BODY>
</HTML>


Als je de bovenste code meerdere keren zou uitvoeren, zou je denken dat het precies hetzelfde doet als het Application object. Zelfs als je de browser waarin het weergegeven wordt sluit en opnieuw opent, telt de teller gewoon door. Dit komt omdat die browser telkens door de browser waarin je nu leest geopend wordt. Zou je ook deze sluiten en dan een nieuwe browser openen, dan zou er wel een nieuwe sessie zijn en de teller begint dan weer bij 1. Wat je ook kunt doen is een nieuwe browser opstarten (vanuit het Start menu) en dan de pagina nog een keer opvragen.

Hoe werkt het Session object?

De waardes in het Session object worden opgeslagen in het geheugen van de server. Om bij te houden welke sessie van een bepaalde gebruiker is, wordt er een cookie naar de browser gestuurd met een unieke waarde erin: de SessionID. Iedere keer als de browser een aanvraag doet, wordt deze cookie meegestuurd en weet de server welke sessie erbij hoort. Deze cookie wordt ongeldig als de browser gesloten wordt, of er 20 minuten verstreken zijn sinds de laatste aanvraag.

session2.asp
<HTML>
<BODY>
<%
Response.Write Session.SessionID
%>
</BODY>
</HTML>


Browsers die geen cookies accepteren, kunnen ook niet met een sessie werken. Daar komt bij dat als je veel waardes opslaat in het Session object dat dit nadelige gevolgen heeft voor de snelheid van de server. Gebruik het dus alleen als je het echt nodig hebt.

Het Session object heeft nog meer mogelijkheden. Gezien deze erg weinig gebruikt worden, zijn die mogelijkheden geen onderdeel van deze lessen.

<< vorige | ^ naar boven | overzicht | volgende >>
copyright 2000-2007 ASPNL