Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 |
|---|---|
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
- SecurityPermission für die Verwendung von Infrastrukturcode. Anforderungswert: SecurityAction.LinkDemand; Berechtigungswert: SecurityPermissionFlag.Infrastructure
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