Freigeben über


ILease.RenewOnCallTime-Eigenschaft

Ruft die Zeitspanne ab, um die ein Aufruf des Remoteobjekts die CurrentLeaseTime erneuert, oder legt diese fest.

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

Syntax

'Declaration
Property RenewOnCallTime As TimeSpan
'Usage
Dim instance As ILease
Dim value As TimeSpan

value = instance.RenewOnCallTime

instance.RenewOnCallTime = value
TimeSpan RenewOnCallTime { get; set; }
property TimeSpan RenewOnCallTime {
    TimeSpan get ();
    void set (TimeSpan value);
}
/** @property */
TimeSpan get_RenewOnCallTime ()

/** @property */
void set_RenewOnCallTime (TimeSpan value)
function get RenewOnCallTime () : TimeSpan

function set RenewOnCallTime (value : TimeSpan)

Eigenschaftenwert

Die Zeitspanne, um die ein Aufruf des Remoteobjekts die CurrentLeaseTime erneuert.

Ausnahmen

Ausnahmetyp Bedingung

SecurityException

Der direkte Aufrufer führt den Aufruf über einen Verweis auf die Schnittstelle aus und verfügt nicht über die Berechtigung für die Infrastruktur.

Hinweise

Wenn Sie ein Remoteobjekt aufrufen, fügt der Lebensdauerdienst die RenewOnCallTime nur dann zur CurrentLeaseTime hinzu, wenn die CurrentLeaseTime niedriger als die RenewOnCallTime ist. Sequenzielle Aufrufe erhöhen deshalb die CurrentLeaseTime nicht grenzenlos. Stattdessen wird sofort nach jedem Aufruf sichergestellt, dass die CurrentLeaseTime größer oder gleich der RenewOnCallTime ist.

Beispiel

Im folgenden Beispiel wird mit RemotingServices.GetLifetimeService ein Objekt abgerufen, das die ILease-Schnittstelle implementiert. Für das Kompilieren und Ausführen dieses Beispiel benötigen Sie den vollständigen Code für Client, Server und gemeinsam genutzte Bibliothek aus dem Beispiel für ILease.

' Register the channel.
Dim myChannel As New TcpChannel()
ChannelServices.RegisterChannel(myChannel)
RemotingConfiguration.RegisterActivatedClientType( _
                  GetType(HelloService), "Tcp://localhost:8085")

Dim myTimeSpan As TimeSpan = TimeSpan.FromMinutes(10)

' Create a remote object.
Dim myService As New HelloService()

Dim myLease As ILease
myLease = CType(RemotingServices.GetLifetimeService(myService), ILease)
If myLease Is Nothing Then
   Console.WriteLine("Cannot lease.")
   Return
End If

Console.WriteLine("Initial lease time is " & myLease.InitialLeaseTime.ToString())
Console.WriteLine("Current lease time is " & myLease.CurrentLeaseTime.ToString())
Console.WriteLine("Renew on call time is " & myLease.RenewOnCallTime.ToString())
Console.WriteLine("Sponsorship timeout is " & myLease.SponsorshipTimeout.ToString())
Console.WriteLine("Current lease state is " & myLease.CurrentState.ToString())
// Register the channel.
TcpChannel myChannel = new TcpChannel ();
ChannelServices.RegisterChannel(myChannel);
RemotingConfiguration.RegisterActivatedClientType(
                       typeof(HelloService),"Tcp://localhost:8085");

TimeSpan myTimeSpan = TimeSpan.FromMinutes(10);

// Create a remote object.
HelloService myService = new HelloService();

ILease myLease;
myLease = (ILease)RemotingServices.GetLifetimeService(myService);
if (myLease == null)
{
   Console.WriteLine("Cannot lease.");
   return;
}

Console.WriteLine ("Initial lease time is " + myLease.InitialLeaseTime);
Console.WriteLine ("Current lease time is " + myLease.CurrentLeaseTime);
Console.WriteLine ("Renew on call time is " + myLease.RenewOnCallTime);
Console.WriteLine ("Sponsorship timeout is " + myLease.SponsorshipTimeout);
Console.WriteLine ("Current lease state is " + myLease.CurrentState.ToString());
// Register the channel.
TcpChannel^ myChannel = gcnew TcpChannel;
ChannelServices::RegisterChannel( myChannel );
RemotingConfiguration::RegisterActivatedClientType( HelloService::typeid, "Tcp://localhost:8085" );
TimeSpan myTimeSpan = TimeSpan::FromMinutes( 10 );

// Create a remote object.
HelloService ^ myService = gcnew HelloService;
ILease^ myLease;
myLease = dynamic_cast<ILease^>(RemotingServices::GetLifetimeService( myService ));
if ( myLease == nullptr )
{
   Console::WriteLine( "Cannot lease." );
   return  -1;
}

Console::WriteLine( "Initial lease time is {0}", myLease->InitialLeaseTime );
Console::WriteLine( "Current lease time is {0}", myLease->CurrentLeaseTime );
Console::WriteLine( "Renew on call time is {0}", myLease->RenewOnCallTime );
Console::WriteLine( "Sponsorship timeout is {0}", myLease->SponsorshipTimeout );
Console::WriteLine( "Current lease state is {0}", myLease->CurrentState );

.NET Framework-Sicherheit

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

ILease-Schnittstelle
ILease-Member
System.Runtime.Remoting.Lifetime-Namespace