Using Single Database for state w/ multiple web apps

J

Jeff

We have multiple ASP.Net web apps in development. As a standard we
are looking to go with SQL Server to hold state information.

Can we have the multiple apps all point to a single State DB? Or do we
need to install multiple instances of the State database on to the SQL
Server (one for each Web app)?

It would seem that you could run into troubles pointing several web
apps at the same DB, because you would introduce the possibility (a
remote possibility granted) of duplicating the state's key..

Thanks
jeffpriz
 
L

Lucas Tam

(e-mail address removed) (Jeff) wrote in @posting.google.com:
It would seem that you could run into troubles pointing several web
apps at the same DB, because you would introduce the possibility (a
remote possibility granted) of duplicating the state's key..

How are you generating the key?

There are several ways to generate unique keys.
 
K

Ken Dopierala Jr.

Hi Jeff,

I do this. I always have users log in though and then they can move from
app to app, server to server. The best thing to do is have all apps use a
web service to provide state support. If people do not need to be logged in
then you can still use this but I would still utilize the shared web
service, that way keys should never be duplicated. And if you are using an
Idntity field in your SQL table then you should never have a duplicated key.
Good luck! Ken.
 
J

Jeff

Thanks for the reply...

So should i take away from your response, that I would not be able to
simply point both App's session state at the one database?

Can I point 2 app's session state there without troubles? or do i have
to go through a service to handle state.

Also, i'm confused by your suggestion of using an Identity field..
I'm not sure off-hand how the InstallPersistSQLState.sql sets up the
tables, but I doubt I'd get too far by trying to re-work that
Database.

I just want to keep session state for 2 apps on a single Session db.

jeffpriz
 
K

Ken Dopierala Jr.

Hi Jeff,

Sorry, I don't know the answers. I thought you were trying to do some
custom state thing where you have multiple apps that work together and
people move in and out of. I would give it a try and see what happens.
Here is the field that the .SQL creates to identify the session:

SessionId CHAR(32) NOT NULL PRIMARY KEY,

My guess is that it is holding a GUID. GUIDs are rarely duplicated and it
sounds like this is using a Windows Service. So if both apps are using that
same service (i.e. they are on the same web server) I would imagine that the
service would make sure that it didn't duplicate GUIDs and pointing to the
same DB would be fine. If they were on seperate servers, then the instances
of the Windows Service handling this wouldn't know about each other and
therefore couldn't coordinate the usage of unique GUIDs. Then again, if the
Windows Service first queries the DB to make sure the GUID it generates
isn't in use then running the apps on muliple servers pointing to the same
DB should work fine also.

Anyway, as you can see I have no idea what I'm dealing with here so I can't
give you an answer. Hopefully this is enough information to let you maybe
make another post asking specific questions to resolve this. Good luck!
Ken.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,768
Messages
2,569,575
Members
45,053
Latest member
billing-software

Latest Threads

Top