re:
!> the session doesn't seem to timeout.
!> The timeout works fine in inProc session mode.
Session_End doesn't fire in SQL Server session state mode.
Unless you're running a multiple web server scenario ( web farm ),
when you need to keep track of user sessions in several servers,
don't use SQL Server *or* State Server to track session state
unless you're willing/able to take a performance hit.
The cost of serialization/deserialization affects performance.
In the case of State Server, the cost is about a 15% performance degradation.
In the case of SQL Server, the cost is about a 25% performance degradation.
Juan T. Llibre, asp.net MVP
asp.net faq : http://asp.net.do/faq/
foros de asp.net, en español : http://asp.net.do/foros/
======================================
> Using dotnet 2.0 sp1,
>
[quoted text clipped - 9 lines]
> Any ideas ?
> TIA
Moe Sisko - 29 Apr 2008 00:58 GMT
> re:
> !> the session doesn't seem to timeout.
> !> The timeout works fine in inProc session mode.
>
> Session_End doesn't fire in SQL Server session state mode.
Juan,
Yes, I realise that Session_End doesn't fire in SQL Server state.
What I meant was, I was expecting the Session data to be automatically
cleared by SQL Server after the timeout minutes elapsed.
e.g. if I did : Session["abc"] = 5 , then after the timeout period
elapsed, I'm expecting : Session["abc"] to be null.
Otherwise the ASPStateTempSessions table in the session state database will
just keep growing. Old rows of this table doesn't seem to be getting cleaned
up.
Moe Sisko - 29 Apr 2008 01:42 GMT
> What I meant was, I was expecting the Session data to be automatically
> cleared by SQL Server after the timeout minutes elapsed.
> e.g. if I did : Session["abc"] = 5 , then after the timeout period
> elapsed, I'm expecting : Session["abc"] to be null.
Never mind, figured it out - SQL Server Agent needs to be running. It runs a
stored proc every minute which gets rid of expired session data.