Friday, 30 September 2011

How do you do object pooling in .NET?


COM+ reduces overhead by creating object from scratch. So in COM+ when object is activated its activated from pool and when its deactivated it’s pushed back to the pool. Object pooling is configures by using the "ObjectPoolingAttribute" to the class.
When a class is marked with objectpooling attribute it can not be inherited.

<ObjectPooling(MinPoolSize := 2, MaxPoolSize := 5, CreationTimeout := 20000)> _
Public Class TestingClass Inherits ServicedComponent
Public Sub DoWork()
' Method contents go here.
End Sub
End Class
Below is a sample code which uses the class.

Public Class App
Overloads Public Shared Sub Main(args() As String)
Dim xyz As New TestObjectPooling()
xyz.doWork()
ServicedComponent.DisposeObject (xyz)
End Sub
End Class
Note the DisposeObject() This ensures its safe return to the object pool.

No comments:

Post a Comment