Monday 21 May 2012

Object Pooling in Dotnet




COM+ reduces overhead by not creating object from scratch. So in COM+ when object is activated its activated, from pool and when it has deactivated its pushed back to the pool. Object pooling is configures by using the ObjectPoolingAttribute to the class.

Note:- When a class is marked with object pooling 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

Above is a sample code, which has the Object Pooling attribute defined. 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

Above is a sample code, which uses the object pooled object. Note the Dispose Object () This ensures its safe return to the object pool.

No comments:

Post a Comment