Explain in-proc,out-proc and sql server.
Answer Posted / sajid
In case of InProc, state is maintained within the managed
memory of the ASP.NET process whereas in case of OutProc
mode session is managed by an external resource (
StateServer or SQL Server )
In case of InProc, state is maintained within the managed
memory of the ASP.NET process whereas in case of OutProc
mode session is managed by an external resource (
StateServer or SQL Server )
This EggheadCafe article -
http://www.eggheadcafe.com/articles/20021016.asp has a good
comparison
Storage location
* InProc - session kept as live objects in web server
(aspnet_wp.exe). Use "cookieless" configuration in
web.config to "munge" the sessionId onto the URL (solves
cookie/domain/path RFC problems too!)
* StateServer - session serialized and stored in memory
in a separate process (aspnet_state.exe). State Server can
run on another machine
* SQLServer - session serialized and stored in SQL server
Performance
* InProc - Fastest, but the more session data, the more
memory is consumed on the web server, and that can affect
performance.
* StateServer - When storing data of basic types (e.g.
string, integer, etc), in one test environment it's 15%
slower than InProc. However, the cost of
serialization/deserialization can affect performance if
you're storing lots
of objects. You have to do performance testing for
your own scenario.
* SQLServer - When storing data of basic types (e.g.
string, integer, etc), in one test environment it's 25%
slower than InProc. Same warning about serialization as in
StateServer.
Robustness
* InProc - Session state will be lost if the worker
process (aspnet_wp.exe) recycles, or if the appdomain
restarts. It's because session state is stored in the memory
space of an appdomain. For details, see KB324772.
* StateServer - Solve the session state loss problem in
InProc mode. Allows a webfarm to store session on a central
server. Single point of failure at the State Server.
* SQLServer - Similar to StateServer. Moreover, session
state data can survive a SQL server restart, and you can
also take advantage of SQL server failover cluster, after
you've followed instructions in KB 311029.
| Is This Answer Correct ? | 73 Yes | 2 No |
Post New Answer View All Answers
Difference between type constructor and instance constructor?
What is the difference between metadata and menifest ?
Explain the difference between inprocess vs out process session state : Dot net architecture
What is the difference between an application and a program?
When do I need to use gc.keepalive?
What happens to the winfx technologies?
What is parallel computing?
Explain the race around condition? : .NET Architecture How can it be overcome? : .NET Architecture
What is the purpose of Treeview control?
What are end points, contract, address and bindings?
State and explain about microsoft.net?
Explain pipelining? : Dot net architecture
What is code access security (cas)?
Which software is used for .net programming?
What are the five stages in a dlx pipeline? : Dot net architecture