session expiry when using sessionState mode="SQLServer"

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Moe Sisko

    session expiry when using sessionState mode="SQLServer"

    Using dotnet 2.0 sp1,

    I've got ASP.NET session state working ok in SQLServer mode, but the
    sessions never seem to expire.

    e.g if I add a timeout attribute like so :

    <sessionState mode="SQLServer "
    sqlConnectionSt ring="Integrate d Security=SSPI;d ata source=localhos t"
    timeout="1" >

    the session doesn't seem to timeout. The timeout works fine in inProc
    session mode.

    Any ideas ?
    TIA


  • Juan T. Llibre

    #2
    Re: session expiry when using sessionState mode=&quot;SQLS erver&quot;

    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/
    =============== =============== ========
    "Moe Sisko" <nullwrote in message news:uawd2YQqIH A.4492@TK2MSFTN GP02.phx.gbl...
    Using dotnet 2.0 sp1,
    >
    I've got ASP.NET session state working ok in SQLServer mode, but the sessions never seem to expire.
    >
    e.g if I add a timeout attribute like so :
    >
    <sessionState mode="SQLServer "
    sqlConnectionSt ring="Integrate d Security=SSPI;d ata source=localhos t" timeout="1" >
    >
    the session doesn't seem to timeout. The timeout works fine in inProc session mode.
    >
    Any ideas ?
    TIA
    >
    >

    Comment

    • Moe Sisko

      #3
      Re: session expiry when using sessionState mode=&quot;SQLS erver&quot;

      "Juan T. Llibre" <nomailreplies@ nowhere.comwrot e in message
      news:ez51ieSqIH A.5096@TK2MSFTN GP02.phx.gbl...
      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 ASPStateTempSes sions table in the session state database will
      just keep growing. Old rows of this table doesn't seem to be getting cleaned
      up.



      Comment

      • Moe Sisko

        #4
        Re: session expiry when using sessionState mode=&quot;SQLS erver&quot;


        "Moe Sisko" <nullwrote in message
        news:%23QhmMvYq IHA.2520@TK2MSF TNGP02.phx.gbl. ..
        >
        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.


        Comment

        Working...