views:

114

answers:

1

I have implemented a web app using session state management as per the instructions found on:

http://blog.maartenballiauw.be/post/2008/01/ASPNET-Session-State-Partitioning-using-State-Server-Load-Balancing.aspx

http://en.aspnet-bhs.info/post/State-Server-Partitioning.aspx

My SessionIDManager inheritor includes the code:

public class SessionIdManager : System.Web.SessionState.SessionIDManager
{
    public override string CreateSessionID(System.Web.HttpContext context)
{...}

My web.config includes the code:

<machineKey
          validationKey="1234567890123456789012345678901234567890AAAAAAAAAA"
          decryptionKey="123456789012345678901234567890123456789012345678"
          validation="SHA1"
          decryption="Auto"
        />
...
<sessionState
            mode="StateServer"
            partitionResolverType="PartitionResolver"
            sessionIDManagerType="SessionIdManager"
            cookieless="false"
            timeout="20"
            />

But the CreateSessionID method never gets called and so the session IDs do not get amended with the appropriate server ID.

Can someone tell me what is going on or what I might also need to consider that isn't mentioned in the articles?

I am using .NET2 with VS2k5.

Thanks,

Matt.

A: 

I have added a check in the Validate(string id) method the length of the session ID string. It now has: return id.Length != 24; This seems to work.

Matt W