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
Can you explain control extenders?
how can we achieve language interoperability through CLS? How MSIL works?
Define a virtual memory? : Dot net architecture
What is msil, and why should my developers need an appreciation of it if at all?
Describe the Managed Execution Process in .NET?
Explain the five stages in a dlx pipeline? : Dot net architecture
Difference between type constructor and instance constructor?
What is the purpose of Accordian in jquery? Where it can be used?
How to improve the cache performance? : .NET Architecture
What are the new features of .net 2.0?
Can I create my own permission set?
Define a managed code? : Dot net architecture
What is the difference between metadata and menifest ?
6. Wcf- what is SOA
Explain about common language infrastructure?