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


Please Help Members By Posting Answers For Below Questions

Can you explain control extenders?

521


how can we achieve language interoperability through CLS? How MSIL works?

601


Define a virtual memory? : Dot net architecture

505


What is msil, and why should my developers need an appreciation of it if at all?

535


Describe the Managed Execution Process in .NET?

535






Explain the five stages in a dlx pipeline? : Dot net architecture

488


Difference between type constructor and instance constructor?

549


What is the purpose of Accordian in jquery? Where it can be used?

1856


How to improve the cache performance? : .NET Architecture

551


What are the new features of .net 2.0?

529


Can I create my own permission set?

530


Define a managed code? : Dot net architecture

506


What is the difference between metadata and menifest ?

469


6. Wcf- what is SOA

1864


Explain about common language infrastructure?

562