Asp.net-mvc – ASP.NET session state and multiple worker processes

asp.netasp.net-mvciis-7session-stateworker-process

I need to understand something about ASP.NET session state, as it applies to IIS 7 and ASP.net 3.5.

If an application is configured to use in-process session state, will that work OK if there are multiple worker processes? In other words, do worker processes share session state?

The default configuration for IIS 7 is to use in-process session state and to allocate a maximum of 10 worker processes. It would seem likely then, that this default configuration should work. I'm dealing with a company that has produced an ASP.NET MVC web app that is having some problems, they're blaming the server environment. The claim is that because I'm using the default settings of 10 worker processes, that is breaking their session state. I need to know whether this is in fact an accurate claim. I've never known an ASP.NET app to not work with the default configuration, so I'm a bit confused and need to have this clarified.

Best Answer

Having multiple worker processes and using InProc does not seem to be compatible.

See this:

If you enable Web-garden mode by setting the webGarden attribute to true in the processModel element of the application's Web.config file, do not use InProc session state mode. If you do, data loss can occur if different requests for the same session are served by different worker processes.

Related Topic