ClientSponsor::Renewal Method (ILease^)

 

Requests a sponsoring client to renew the lease for the specified object.

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

public:
[SecurityCriticalAttribute]
virtual TimeSpan Renewal(
	ILease^ lease
) sealed

Parameters

lease
Type: System.Runtime.Remoting.Lifetime::ILease^

The lifetime lease of the object that requires lease renewal.

Return Value

Type: System::TimeSpan

The additional lease time for the specified object.

The Renewal method is called by the distributed garbage collector to renew the lease for the specified object.

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();
}

.NET Framework
Available since 1.1
Return to top
Show: