What are LeaseTime, SponsorshipTime, RenewonCallTime and
What are LeaseTime, SponsorshipTime, RenewonCallTime and LeaseManagerPollTime?
This is a very important question from practical implementation point of view. Companies
who have specific requirement for Remoting projects will expect this question to be answered.
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.
Lets 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.
2007-10-23, 4463👍, 0💬
How To Increment Dates by 1? - MySQL FAQs - Introduction to SQL Date and Time Handling If you have a...
How To Insert Multiple Rows with a SELECT Statement? - MySQL FAQs - Managing Tables and Running Quer...
If we have the following in a Java code: String s="abc"; String s2="abc"; Then what will be output o...
What is the difference between Class and structures ? Following are the key differences between the...
Are CAO stateful in nature ? Yes. In CAO remoting model client creates a instance on server and inst...