Freigeben über


ILease.SponsorshipTimeout-Eigenschaft

Ruft die Zeitspanne ab, die gewartet werden soll, bis der Sponsor die Erneuerungszeit für den Lease zurückgibt, oder legt diese fest.

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

Syntax

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

value = instance.SponsorshipTimeout

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

/** @property */
void set_SponsorshipTimeout (TimeSpan value)
function get SponsorshipTimeout () : TimeSpan

function set SponsorshipTimeout (value : TimeSpan)

Eigenschaftenwert

Die Zeitspanne, die gewartet werden soll, bis der Sponsor die Erneuerungszeit für den Lease zurückgibt.

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 SponsorshipTimeout den Wert TimeSpan.Zero hat, nimmt der Lease keinen Sponsor an.

Wenn ein Sponsor nicht innerhalb des Timeouts auf einen Aufruf antwortet und den Lease erneuert, wird davon ausgegangen, dass er deaktiviert ist, und er wird aus der Liste der Sponsoren für den aktuellen Lease entfernt.

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