ASP.NET Session Quick Recap
- Posted by admin on May 8th, 2008 filed in Uncategorized
Few days ago, a colleague of mine asked me what kind of session that is being used in my team’s application. Apparently his team has some sort of problem in handling the session. He asked whether my team use InProc, or OutProc. His question sent me scrambling for answer

After googling for a while, here’s what I found:
InProc SessionState: The session will be stored in the memory of ASP.NET server. OutProc SessionState: The session will be serialized and stored in other machine (StateServer machine or SQLServer machine).
To decide which SessionState that is most suitable for your environment, please consider the following points:
Performance:InProc: fastest, but consume more memoryOutProc (StateServer): slower than InProc, due to transport overhead and serialization costOutProc (SQLServer): slower than OutProc (StateServer), due to transport overhead and serialization costRobustness:InProc: session data will be lost when the IIS process restarted/stopped.OutProc (StateServer): session data will NOT be lost when the IIS process restarted/stopped. But the StateServer machine will become the single point of failure. All sessions in any ASP.NET server linked to this State server will be lost if you restart/stop the StateServer process.OutProc (SQLServer): almost the same as OutProc (StateServer), but you will not losing the sessions after you restart the SQL Server
To configure session state, add the following code within web.config’s
Please note that serialization will cost you least when you store the “Basic DataTypes”. They are:
Any numeric data types (Int32, Byte, Int64, etc)StringDateTimeTimeSpanGUIDIntPtr and UIntPtr
If your ASP.NET application will be deployed in a web farm, consider using either StateServer or SQLServer to store your sessions. You can choose to use the commercial or the open-source solution.

Unfortunately, I was unable to find any decent performance review of NCache without the marketing vibe

But maybe in the future I might write something based on this blog post
References ASP.NET Session State FAQHOW TO: Set Up Multi-Server ASP.NET Web Applications and Web ServicesHow to use ASP.NET session state SQL Server Mode in a failover clusterSessionState on MSDN Library
sodeve.net