Freigeben über


ISponsor.Renewal(ILease) Methode

Definition

Fordert von einem Sponsorclient eine Erneuerung des Lease für das angegebene Objekt an.

public:
 TimeSpan Renewal(System::Runtime::Remoting::Lifetime::ILease ^ lease);
public TimeSpan Renewal (System.Runtime.Remoting.Lifetime.ILease lease);
[System.Security.SecurityCritical]
public TimeSpan Renewal (System.Runtime.Remoting.Lifetime.ILease lease);
abstract member Renewal : System.Runtime.Remoting.Lifetime.ILease -> TimeSpan
[<System.Security.SecurityCritical>]
abstract member Renewal : System.Runtime.Remoting.Lifetime.ILease -> TimeSpan
Public Function Renewal (lease As ILease) As TimeSpan

Parameter

lease
ILease

Der Lebensdauerlease des Objekts, das eine Erneuerung des Lease benötigt.

Gibt zurück

Die zusätzliche Leasezeit für das angegebene Objekt.

Attribute

Ausnahmen

Der direkte Aufrufer führt den Aufruf über einen Verweis auf die Schnittstelle durch und hat keine Berechtigung für die Infrastruktur.

Beispiele

public ref class MyClientSponsor: public MarshalByRefObject, public ISponsor
{
private:
   DateTime lastRenewal;

public:
   MyClientSponsor()
   {
      lastRenewal = DateTime::Now;
   }

   [SecurityPermissionAttribute(SecurityAction::LinkDemand,Flags=SecurityPermissionFlag::Infrastructure)]
   virtual TimeSpan Renewal( ILease^ /* lease */ )
   {
      Console::WriteLine( "Request to renew the lease time." );
      Console::WriteLine( "Time since last renewal: {0}",
         DateTime::Now - lastRenewal );

      lastRenewal = DateTime::Now;
      return TimeSpan::FromSeconds( 20 );
   }
};
public class MyClientSponsor : MarshalByRefObject, ISponsor
{
   private DateTime lastRenewal;
   public MyClientSponsor()
   {
      lastRenewal = DateTime.Now;
   }

   public TimeSpan Renewal(ILease lease)
   {
      Console.WriteLine("Request to renew the lease time.");
      Console.WriteLine("Time since last renewal: " +
         (DateTime.Now - lastRenewal).ToString());

      lastRenewal = DateTime.Now;
      return TimeSpan.FromSeconds(20);
   }
}
Public Class MyClientSponsor
   Inherits MarshalByRefObject
   Implements ISponsor 
   Private lastRenewal As DateTime
   
   Public Sub New()
      lastRenewal = DateTime.Now
   End Sub
   
   <SecurityPermission(SecurityAction.LinkDemand, Flags := SecurityPermissionFlag.Infrastructure)> _
   Public Function Renewal(lease As ILease) As TimeSpan Implements ISponsor.Renewal
      Console.WriteLine("Request to renew the lease time.")
      Console.WriteLine("Time since last renewal: " + _ 
                      DateTime.op_Subtraction(DateTime.Now, lastRenewal).ToString())
      
      lastRenewal = DateTime.Now
      Return TimeSpan.FromSeconds(20)
   End Function 'Renewal
End Class

Hinweise

Die Renewal -Methode wird vom verteilten Garbage Collector aufgerufen, um die Lease für das angegebene Objekt zu verlängern.

Gilt für: