2 // System.Runtime.Remoting.Lifetime.LifetimeServices.cs
4 // Author: Duncan Mak (duncan@ximian.com)
5 // Lluis Sanchez Gual (lluis@ideary.com)
7 // 2002 (C) Copyright. Ximian, Inc.
12 namespace System.Runtime.Remoting.Lifetime {
14 //LAMESPEC: MS docs don't say that this class is sealed.
15 public sealed class LifetimeServices
17 private static TimeSpan _leaseManagerPollTime;
18 private static TimeSpan _leaseTime;
19 private static TimeSpan _renewOnCallTime;
20 private static TimeSpan _sponsorshipTimeout;
22 private static LeaseManager _leaseManager = new LeaseManager();
24 static LifetimeServices ()
26 _leaseManagerPollTime = TimeSpan.FromSeconds (10);
27 _leaseTime = TimeSpan.FromMinutes (5);
28 _renewOnCallTime = TimeSpan.FromMinutes (2);
29 _sponsorshipTimeout = TimeSpan.FromMinutes (2);
32 public LifetimeServices ()
36 public static TimeSpan LeaseManagerPollTime
38 get { return _leaseManagerPollTime; }
41 _leaseManagerPollTime = value;
42 _leaseManager.SetPollTime (value);
46 public static TimeSpan LeaseTime
48 get { return _leaseTime; }
49 set { _leaseTime = value; }
52 public static TimeSpan RenewOnCallTime
54 get { return _renewOnCallTime; }
55 set { _renewOnCallTime = value; }
58 public static TimeSpan SponsorshipTimeout
60 get { return _sponsorshipTimeout; }
61 set { _sponsorshipTimeout = value; }
64 internal static void TrackLifetime (ServerIdentity identity)
66 _leaseManager.TrackLifetime (identity);
69 internal static void StopTrackingLifetime (ServerIdentity identity)
71 _leaseManager.StopTrackingLifetime (identity);