Hi....
Ques: Hello all of you please explain LeaseTime, SponsorshipTime, RenewOnCallTime, LeaseManagePollTime in a ASP.NET.
Loading
Know the answer? Post it — somebody with the same question will find it here.
Sign in to answer this question
It is the same account you read, post and publish with — and you will come straight back to this page.
Anuja PawarPosted Jan 10, 2012, 4:26 AM
In normal .NET environment objects lifetime is managed by garbage collector. But in
remoting environment remote clients can access objects which are out of control of
garbage collector. Garbage collector boundary is limited to a single PC on which framework
is running; any remote client across physical PC is out of control of GC (Garbage
Collector).
This constraint of garbage collector leads to a new way of handling lifetime for remoting
objects, by using concept called as "LeaseTime". Every server side object is assigned by
default a "LeaseTime" of five minutes. This leasetime is decreased at certain intervals.
Again for every method call a default of two minutes is assigned. When i say method call
means every call made from client. This is called as "RenewalOnCallTime".
Let's put the whole thing in equation to make the concept more clear.
Total Remoting object life time = LeaseTime + (Number of method calls) X
(RenewalTime).
If we take NumberOfMethodCalls as one.
Then default Remote Object Life Time = 5 + (1) X 2 = 10 minutes (Everything is in
minutes)
When total object lifetime is reduced to zero, it queries the sponsor that should the object
be destroyed. Sponsor is an object which decides should object Lifetime be renewed. So
it queries any registered sponsors with the object, if does not find any then the object is
marked for garbage collection. After this garbage collection has whole control on the
object lifetime. If we do not foresee how long a object will be needed specify the
"SponsorShipTimeOut" value. SponsorShipTimeOut is time unit a call to a sponsor is
timed out.
"LeaseManagerPollTime" defines the time the sponsor has to return a lease time extension
Satyapriya NayakPosted Jan 8, 2012, 12:13 AM
The LeaseTime property protects the object so that the garbage collector does not destroy it as remoting objects are beyond the scope of the garbage collector. Every object created has a default leasetime for which it will be activated. Once the leasetime expires, the object is eligible again for garbage collector and is eventually destroyed. Default value is 5 minutes.
Even though the leasetime of an object has expired, there still may be clients who would still need the remoting object on the server. In such cases the leasemanager keeps a track of such clients and asks them if they need the object and are ready to extend or sponsor the object to extend its existence. This is done through SponsorshipTime property, which is then based on the sponsor.
The RenewOnCallTime property defines the duration for which a remoting object's lease is extended if a sponsor is found. The default value is 2 minutes.
The LeaseManager class has a property PollTime, which defines the frequency at which the LeaseManager polls the leases. Default is 10 seconds.
Thanks