LifetimeServices LifetimeServices LifetimeServices LifetimeServices Class

Définition

Contrôle les services de durée de vie de communication à distance .NET.Controls the.NET remoting lifetime services.

public ref class LifetimeServices sealed
[System.Runtime.InteropServices.ComVisible(true)]
[System.Security.SecurityCritical]
public sealed class LifetimeServices
type LifetimeServices = class
Public NotInheritable Class LifetimeServices
Héritage
LifetimeServicesLifetimeServicesLifetimeServicesLifetimeServices
Attributs

Exemples

#using <system.dll>
#using <system.runtime.remoting.dll>
#using "service.dll"

using namespace System;
using namespace System::Runtime::Remoting;
using namespace System::Runtime::Remoting::Channels;
using namespace System::Runtime::Remoting::Channels::Http;
using namespace System::Runtime::Remoting::Lifetime;

int main()
{
   LifetimeServices::LeaseTime = TimeSpan::FromSeconds( 5 );
   LifetimeServices::LeaseManagerPollTime = TimeSpan::FromSeconds( 3 );
   LifetimeServices::RenewOnCallTime = TimeSpan::FromSeconds( 2 );
   LifetimeServices::SponsorshipTimeout = TimeSpan::FromSeconds( 1 );
   ChannelServices::RegisterChannel( gcnew HttpChannel( 8080 ) );
   RemotingConfiguration::RegisterActivatedServiceType( ClientActivatedType::typeid );
   Console::WriteLine( "The server is listening. Press Enter to exit...." );
   Console::ReadLine();
   Console::WriteLine( "GC'ing." );
   GC::Collect();
   GC::WaitForPendingFinalizers();
   return 0;
}
using System;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Http;
using System.Runtime.Remoting.Lifetime;
using System.Security.Permissions;

public class Server {

   public static void Main() {

      Server myServer = new Server();
      myServer.Run();
   }
 
[SecurityPermission(SecurityAction.Demand, Flags = SecurityPermissionFlag.Infrastructure)]
   public void Run()
   {
      LifetimeServices.LeaseTime = TimeSpan.FromSeconds(5);
      LifetimeServices.LeaseManagerPollTime = TimeSpan.FromSeconds(3);
      LifetimeServices.RenewOnCallTime = TimeSpan.FromSeconds(2);
      LifetimeServices.SponsorshipTimeout = TimeSpan.FromSeconds(1);
   
      ChannelServices.RegisterChannel(new HttpChannel(8080), true);
      RemotingConfiguration.RegisterActivatedServiceType(typeof(ClientActivatedType));
      
      Console.WriteLine("The server is listening. Press Enter to exit....");
      Console.ReadLine();  

      Console.WriteLine("GC'ing.");
      GC.Collect();
      GC.WaitForPendingFinalizers();
   }
}
Imports System
Imports System.Runtime.Remoting
Imports System.Runtime.Remoting.Channels
Imports System.Runtime.Remoting.Channels.Http
Imports System.Runtime.Remoting.Lifetime
Imports System.Security.Permissions


Public Class Server
   
   Public Shared Sub Main()
      Dim myServer As New Server()
      myServer.Run()
   End Sub 'Main

<SecurityPermission(SecurityAction.Demand, Flags:=SecurityPermissionFlag.Infrastructure)> _ 
   Public Sub Run()
      LifetimeServices.LeaseTime = TimeSpan.FromSeconds(5)
      LifetimeServices.LeaseManagerPollTime = TimeSpan.FromSeconds(3)
      LifetimeServices.RenewOnCallTime = TimeSpan.FromSeconds(2)
      LifetimeServices.SponsorshipTimeout = TimeSpan.FromSeconds(1)
      
      
      ChannelServices.RegisterChannel(New HttpChannel(8080), True)
      RemotingConfiguration.RegisterActivatedServiceType(GetType(ClientActivatedType))
      
      Console.WriteLine("The server is listening. Press Enter to exit....")
      Console.ReadLine()
      
      Console.WriteLine("GC'ing.")
      GC.Collect()
      GC.WaitForPendingFinalizers()
   End Sub 'Run
   
End Class 'Server

Remarques

Garbage collection distribuée est chargé pour contrôler les durées de vie des applications de serveur et de les supprimer lorsque leur durée de vie ont expiré.Distributed garbage collection is responsible for controlling the lifetimes of server applications, and for deleting them when their lifetimes have expired. En règle générale, le garbage collection distribué utilise des décomptes de références et de ping pour le contrôle.Traditionally, distributed garbage collection uses reference counts and pinging for control. Cela fonctionne bien quand il existe quelques clients par objet, mais ne fonctionne pas bien lorsqu’il existe des milliers de clients par objet.This works well when there are a few clients per object, but does not work well when there are thousands of clients per each object. Le service de durée de vie peut assumer la fonction d’un garbage collector distribué classique et s’adapte bien lorsque le nombre de clients augmente.The lifetime service can assume the function of a traditional distributed garbage collector, and scales well when the number of clients increases.

Le service de durée de vie associe un bail à chaque objet activé à distance.The lifetime service associates a lease with each remotely activated object. Lorsque le bail expire, l’objet est supprimé.When the lease expires, the object is removed.

Notes

Cette classe effectue une demande de liaison.This class makes a link demand. Une SecurityException est levée si l’appelant immédiat n’a pas d’autorisation d’infrastructure.A SecurityException is thrown if the immediate caller does not have infrastructure permission. Consultez demandes de liaison pour plus d’informations.See Link Demands for more information.

Constructeurs

LifetimeServices() LifetimeServices() LifetimeServices() LifetimeServices()

Crée une instance de LifetimeServices.Creates an instance of LifetimeServices.

Propriétés

LeaseManagerPollTime LeaseManagerPollTime LeaseManagerPollTime LeaseManagerPollTime

Obtient ou définit l'intervalle de nettoyage des baux expirés entre chaque activation du gestionnaire de bail.Gets or sets the time interval between each activation of the lease manager to clean up expired leases.

LeaseTime LeaseTime LeaseTime LeaseTime

Obtient ou définit l'étendue de la durée de bail initiale d'un AppDomain.Gets or sets the initial lease time span for an AppDomain.

RenewOnCallTime RenewOnCallTime RenewOnCallTime RenewOnCallTime

Obtient ou définit le temps de prolongation du bail obtenu lors de chaque arrivée d'un appel sur l'objet serveur.Gets or sets the amount of time by which the lease is extended every time a call comes in on the server object.

SponsorshipTimeout SponsorshipTimeout SponsorshipTimeout SponsorshipTimeout

Obtient ou définit la période pendant laquelle le gestionnaire de bail attend le retour d'un sponsor avec une durée de renouvellement.Gets or sets the amount of time the lease manager waits for a sponsor to return with a lease renewal time.

Méthodes

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fait office de fonction de hachage par défaut.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crée une copie superficielle de l'objet Object actuel.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Retourne une chaîne qui représente l'objet actuel.Returns a string that represents the current object.

(Inherited from Object)

Sécurité

SecurityPermission
Pour opérer avec du code d’infrastructure.for operating with infrastructure code. Valeur de la demande : LinkDemand; Valeur d’autorisation : InfrastructureDemand value: LinkDemand; Permission Value: Infrastructure

S’applique à