Toon posts:

[ASP.NET / SQL Server] Sessie opslaan in SQL Server

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

ik ben een klein beetje aan het testen met het opslaan van sessiestatus in SQL Server.

Nu heb het netjes in mijn web.config gezet, dat ik SQL Server gebruik.
Dat werkt allemaal goed, in SQL Server heb ik netjes de database en dergelijke aan laten maken.

Nu slaat ie denk ik alles netjes op in de SQL Server, tenmiste er worden regels aangemaakt in "tempdb.ASPStateTempSessions".

Alleen nu mijn nieuwschierigheid...
de tabel heeft 2 kolommen SessionItemShort en SessionItemLong. Waarschijnlijk worden daar de sessiewaardes in opgeslagen. Maar die velden zijn van het varbinairy en image type, dus kan ze niet gewoon uitlezen.

Weet iemand zeker of de sessiewaardes daar worden opgeslagen en hoe (of of ze wel) uitgelezen kunnen worden.

Andere ervaringen en tips voor sessies/sqlserver zijn ook welkom.

  • whoami
  • Registratie: December 2000
  • Laatst online: 01:57
Ik heb geen ervaring met het bewaren van session state in sql server database, maar waarom wil jij weten waar die values precies worden opgeslagen?

Als je het wilt weten om te testen of het wel goed werkt, kan je toch ook de session-variables opvragen in je webpage, en dan kijken of het goed is of niet?

Ik denk trouwens dat het juist de bedoeling is dat je de sessie-var's niet zomaar -direct- kunt uitlezen uit die tables.

https://fgheysels.github.io/


Verwijderd

Topicstarter
Ik ben nieuwschierig hoe en waar precies de sessiestatus wordt opgeslagen.

Verwijderd

Topicstarter
Hmmm wat me nu wel weer opvalt en wat ik een klein beetje raar vind,

is dat sessie nog niet expiren...

een sessie die 10 min mocht blijven bestaan en om 12.33 expired zou zijn kan ik nu nogsteeds uitlezen.
Terwijl er dit in de database staat:
code:
1
luupf4551ucr2dfjgfrxtizu00000001    10-6-2003 12:23:28  10-6-2003 12:33:32  10-6-2003 12:23:32  3   10  0   <Binary>    <Binary>


De data zijn
1) created
2) Expires
3) Lockdate

dus zover als ik het begrijp, moet de sessie expired zijn...

Er bestaad een stored procedure "DeleteExpiredSessions",
maar ik weet niet wanneer die door wat wordt aangeroepen...

[ Voor 13% gewijzigd door Verwijderd op 10-06-2003 12:58 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 01:57
De sessie-expiration is een sliding value. Dat wil dus zeggen dat ze expired als je -in jouw voorbeeld- gedurende 10min. geen requests meer doet naar de webserver.

https://fgheysels.github.io/


Verwijderd

Topicstarter
je bedoelt, geen request meer doet naar de bepaalde sessie.

Maar ik heb net ff geluncht en heb niks meer gedaan in visual studio en de sessies staan nogsteeds in de database....

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

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 10 juni 2003 @ 13:31:
je bedoelt, geen request meer doet naar de bepaalde sessie.

Maar ik heb net ff geluncht en heb niks meer gedaan in visual studio en de sessies staan nogsteeds in de database....
This raises an important question: If the SQL Server is never shutdown, will tempdb eventually become 100% full and run out of space? Recall that ASP.NET connections automatically time out and their resources are freed up after the timeout duration is exceeded. The InstallSqlState.sql script creates a job called ASPState_Job_DeleteExpiredSessions to delete expired sessions from tempdb. Recall that ASP.NET does not keep session resources alive indefinitely. To support this feature when a SQL Server is used to maintain state, the SQL Server Agent must be running so that the expired session deletion job runs as needed. By default, the job is scheduled to run every minute. It deletes session state rows with an Expires value less than the current time.
Zie ook de rest van het artikel; geeft op zich wel wat achtergrondinformatie.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
hmmm, heb het probleem al gevonden...

De job was wel aangemaakt, maar NIET gestart...
Pagina: 1