I have a web site where I use ASP.NET membership for managing user creation, login, role management. I use Visual Studio 2012. There are a lot of elements created by Visual Studio in web.config. One of the element related to session state is the following.\[code\]sessionState mode="InProc" customProvider="DefaultSessionProvider"name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection"\[/code\]In this link, it says that \[code\]Custom provider is used when mode is set to Custom\[/code\]. The first question is that if this is the case why Visual Studio generates the session state's mode attribute as InProc and at the same time sets a custom provider? The second issue is with the session state timeout. When I add a timeout value to session state, it doesn't timeout when the time is up.\[code\]sessionState mode="InProc" customProvider="DefaultSessionProvider" timeout="30"\[/code\]Time out started working when I removed CustomProvider attribute. Does anybody have more inside to this situation?