What are object pooling and connection pooling and difference?
Answer Posted / ritesh
Object pooling is a COM+ service that enables you to reduce
the overhead of creating each object from scratch. When an
object is activated, it is pulled from the pool. When the
object is deactivated, it is placed back into the pool to
await the next request. You can configure object pooling by
applying the ObjectPoolingAttribute attribute to a class
that derives from the
System.EnterpriseServices.ServicedComponent class.
Object pooling lets you control the number of connections
you use, as opposed to connection pooling, where you
control the maximum number reached.
Following are important differences between object pooling
and connection pooling:
• Creation. When using connection pooling, creation
is on the same thread, so if there is nothing in the pool,
a connection is created on your behalf. With object
pooling, the pool might decide to create a new object.
However, if you have already reached your maximum, it
instead gives you the next available object. This is
crucial behavior when it takes a long time to create an
object, but you do not use it for very long.
• Enforcement of minimums and maximums. This is not
done in connection pooling. The maximum value in object
pooling is very important when trying to scale your
application. You might need to multiplex thousands of
requests to just a few objects. (TPC/C benchmarks rely on
this.)
| Is This Answer Correct ? | 3 Yes | 3 No |
Post New Answer View All Answers
What's a windows process in .net?
How is .net able to support multiple languages?
What are an object and a class?
What should you do to store an object in a viewstate?
State some of the different languages supported by .net?
What is COM Interoperability in .NET
How is .net core cross platform?
What is class library in .net
Please explain what is reflection and what is it for?
A developer company sends dlls to the client. Some client is not happy current functionality, so request some modification. Developer made some changes and send new dll to all clients. Some client is happy with old version, tell me minimal change to so that neither clients get affected?
Explain the process of serialization in .NET?
Usually in .net, the clr takes care of memory management. Is there any need for a programmer to explicitly release memory and resources? If yes, why and how?
State the differences between the dispose() and finalize().
Explain code access security.
Is .net core free?