Freigeben über


ClientSponsor.Renewal-Methode

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

Namespace: System.Runtime.Remoting.Lifetime
Assembly: mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public Function Renewal ( _
    lease As ILease _
) As TimeSpan
'Usage
Dim instance As ClientSponsor
Dim lease As ILease
Dim returnValue As TimeSpan

returnValue = instance.Renewal(lease)
public TimeSpan Renewal (
    ILease lease
)
public:
virtual TimeSpan Renewal (
    ILease^ lease
) sealed
public final TimeSpan Renewal (
    ILease lease
)
public final function Renewal (
    lease : ILease
) : TimeSpan

Parameter

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

Rückgabewert

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

Hinweise

Die Renewal-Methode wird vom verteilten Garbage Collector aufgerufen, um den Lease für das angegebene Objekt zu erneuern.

Beispiel

Class HelloClient

   Shared Sub Main()
      ' Register a channel.
      Dim myChannel As New TcpChannel()
      ChannelServices.RegisterChannel(myChannel)
      RemotingConfiguration.RegisterActivatedClientType( _
                  GetType(HelloService), "tcp://localhost:8085")

      ' Get the remote object.
      Dim myService As New HelloService()

      ' Get a sponsor for renewal of time.
      Dim mySponsor As New ClientSponsor()

      ' Register the service with sponsor.
      mySponsor.Register(myService)

      ' Set renewaltime.
      mySponsor.RenewalTime = TimeSpan.FromMinutes(2)

      ' Renew the lease.
      Dim myLease As ILease = CType(mySponsor.InitializeLifetimeService(), ILease)
      Dim myTime As TimeSpan = mySponsor.Renewal(myLease)
      Console.WriteLine("Renewed time in minutes is " & myTime.Minutes)

      ' Call the remote method.
      Console.WriteLine(myService.HelloMethod("World"))

      ' Unregister the channel.
      mySponsor.Unregister(myService)
      mySponsor.Close()
   End Sub 'Main
End Class 'HelloClient
class HelloClient
{
    static void Main()
   {
      // Register a channel.
      TcpChannel myChannel = new TcpChannel ();
      ChannelServices.RegisterChannel(myChannel);
      RemotingConfiguration.RegisterActivatedClientType(
                             typeof(HelloService),"tcp://localhost:8085/");

      // Get the remote object.
      HelloService myService = new HelloService();

      // Get a sponsor for renewal of time.
      ClientSponsor mySponsor = new ClientSponsor();

      // Register the service with sponsor.
      mySponsor.Register(myService);

      // Set renewaltime.
      mySponsor.RenewalTime = TimeSpan.FromMinutes(2);

      // Renew the lease.
      ILease myLease = (ILease)mySponsor.InitializeLifetimeService();
      TimeSpan myTime = mySponsor.Renewal(myLease);
      Console.WriteLine("Renewed time in minutes is " + myTime.Minutes.ToString());

      // Call the remote method.
      Console.WriteLine(myService.HelloMethod("World"));

      // Unregister the channel.
      mySponsor.Unregister(myService);
      mySponsor.Close();
   }
}
int main()
{
   // Register a channel.
   TcpChannel^ myChannel = gcnew TcpChannel;
   ChannelServices::RegisterChannel( myChannel );
   RemotingConfiguration::RegisterActivatedClientType(
      RemotingSamples::HelloService::typeid, "tcp://localhost:8085/" );
   
   // Get the remote Object*.
   RemotingSamples::HelloService ^ myService = gcnew RemotingSamples::HelloService;
   
   // Get a sponsor for renewal of time.
   ClientSponsor^ mySponsor = gcnew ClientSponsor;
   
   // Register the service with sponsor.
   mySponsor->Register( myService );
   
   // Set renewaltime.
   mySponsor->RenewalTime = TimeSpan::FromMinutes( 2 );
   
   // Renew the lease.
   ILease^ myLease = dynamic_cast<ILease^>(mySponsor->InitializeLifetimeService());
   TimeSpan myTime = mySponsor->Renewal( myLease );
   Console::WriteLine( "Renewed time in minutes is {0}", myTime.Minutes );
   
   // Call the remote method.
   Console::WriteLine( myService->HelloMethod( "World" ) );
   
   // Unregister the channel.
   mySponsor->Unregister( myService );
   mySponsor->Close();
}

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

ClientSponsor-Klasse
ClientSponsor-Member
System.Runtime.Remoting.Lifetime-Namespace