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
What is .net mobile utility controls. : Microsoft dot net mobile
What are relation objects in dataset?
What is the purpose of cache? How is it used? : Dot net architecture
Explain about validation?
What happens when you try to update data in a dataset in .net while the record is already deleted in sql server as backend?
what are login controls?
Explain what does the term "green architecture" mean? : .NET Architecture
Define pipelining? : Dot net architecture
Why am I getting an invalidoperationexception when I serialize an arraylist?
how to change the application name?
What is .net mobile automatic paging? : Microsoft dot net mobile
Define cache? : Dot net architecture
define cache memory? : Dot net architecture
how to create applications by using Visual Studio 2012?
what is the difference between running an application with and without debugger?