Partager via


Configuration des valeurs de recyclage d’applications COM+

Vous pouvez utiliser les méthodes suivantes pour configurer des valeurs de recyclage d’application pour votre application COM+.

Notes

Vous ne pouvez pas recycler une application COM+ qui a été configurée pour s’exécuter en tant que service Windows. En outre, les applications de bibliothèque ont les propriétés de recyclage et de regroupement de leur processus hôte.

 

Outil d’administration des services de composants

Pour configurer le recyclage d’applications pour une application COM+, procédez comme suit :

  1. Dans l’arborescence de la console de l’outil d’administration Services de composants, cliquez avec le bouton droit sur l’application serveur COM+ que vous souhaitez recycler, puis cliquez sur Propriétés.

  2. Sous l’onglet & Recyclage du regroupement, entrez des valeurs pour Limite de durée de vie (minutes),Limite de mémoire (Ko),Délai d’expiration (minutes), Limite d’appels et Limite d’activation, en fonction des critères que vous souhaitez utiliser.

    • La limite de durée de vie indique le nombre maximal de minutes qu’un processus peut exécuter avant d’être recyclé. La plage valide est comprise entre 0 et 30 240 minutes (21 jours). Le nombre de minutes par défaut est 0.
    • La limite de mémoire indique la quantité maximale d’utilisation de la mémoire de processus (en kilo-octets) avant le recyclage du processus. Si l’utilisation de la mémoire du processus dépasse le nombre spécifié pendant plus d’une minute, le processus est recyclé. La plage valide est comprise entre 0 et 1 048 576 Ko, et la quantité par défaut d’utilisation de la mémoire est de 0 Ko.
    • Délai d’expiration indique le nombre de minutes à attendre, avant d’être arrêté de force, pour la libération de toutes les références externes aux objets du processus. La plage valide est comprise entre 1 et 1 440 minutes (24 heures), et le délai d’expiration par défaut est de 15 minutes. Cette valeur est utilisée uniquement lorsqu’il est déjà déterminé qu’un processus sera recyclé en fonction des autres critères.
    • La limite d’appels indique le nombre maximal d’appels que les objets d’application peuvent accepter avant de recycler le processus. La plage valide est comprise entre 0 et 1 048 576 appels, et le nombre d’appels par défaut est 0.
    • La limite d’activation indique le nombre maximal d’activations d’objets d’application à accepter avant de recycler le processus. La plage valide est comprise entre 0 et 1 048 576 activations, et le nombre d’activations par défaut est 0.

    Notes

    Lorsque la valeur Limite de durée de vie, Limite de mémoire, Limite des appels ou Limite d’activation est définie sur 0 (valeur par défaut), le recyclage des applications pour ce critère est désactivé. Lorsque ces quatre critères sont définis sur 0, le recyclage des applications est désactivé pour l’application sélectionnée.

     

  3. Cliquez sur OK.

Visual Basic

La fonction suivante dans Microsoft Visual Basic montre comment définir les valeurs de recyclage d’application pour n’importe quelle application serveur COM+ de votre choix. Pour l’utiliser à partir de Visual Basic, ajoutez une référence à la bibliothèque de types com+ Administration.

Function SetMyApplicationRecycling( _
  strApplicationName As String, _
  lngLifetimeLimit As Long, _
  lngMemoryLimit As Long, _
  lngCallLimit As Long, _
  lngActivationLimit As Long, _
  lngExpirationTimeout As Long _
) As Boolean  ' Return False if any errors occur.

    SetMyApplicationRecycling = False  ' Initialize the function.
    On Error GoTo My_Error_Handler  ' Initialize error handling.

    Dim objCatalog As COMAdmin.COMAdminCatalog
    Dim objAppCollection As COMAdmin.COMAdminCatalogCollection
    Dim objApplication As COMAdmin.COMAdminCatalogObject
    Set objCatalog = CreateObject("COMAdmin.COMAdminCatalog")
    Set objAppCollection = objCatalog.GetCollection("Applications")
    objAppCollection.Populate
    For Each objApplication In objAppCollection
        With objApplication
            If .Name = strApplicationName Then
                .Value("RecycleLifetimeLimit") = lngLifetimeLimit
                .Value("RecycleMemoryLimit") = lngMemoryLimit
                .Value("RecycleCallLimit") = lngCallLimit
                .Value("RecycleActivationLimit") = lngActivationLimit
                .Value("RecycleExpirationTimeout") = lngExpirationTimeout
                MsgBox strApplicationName & _
                  " recycling values are now set to the following: " & _
                  vbNewLine & vbNewLine & _
                  "Lifetime Limit = " & lngLifetimeLimit & vbNewLine & _
                  "Memory Limit = " & lngMemoryLimit & vbNewLine & _
                  "Call Limit = " & lngCallLimit & vbNewLine & _
                  "Activation Limit = " & lngActivationLimit & vbNewLine _
                  & "Expiration Timeout = " & lngExpirationTimeout
                Exit For
            End If
        End With
    Next
    objAppCollection.SaveChanges
    Set objApplication = Nothing
    Set objAppCollection = Nothing
    Set objCatalog = Nothing
    SetMyApplicationRecycling = True  ' Successful end to procedure
    Exit Function
    
My_Error_Handler:  ' Replace with specific error handling.
    MsgBox "Error # " & Err.Number & " (Hex: " & Hex(Err.Number) _
      & ")" & vbNewLine & Err.Description
    Set objApplication = Nothing
    Set objAppCollection = Nothing
    Set objCatalog = Nothing
End Function

Pour utiliser la fonction , fournissez une valeur de chaîne pour le nom de l’application et les valeurs entières pour les paramètres de recyclage d’application souhaités. Le code Visual Basic suivant montre comment définir la valeur RecycleLifetimeLimit sur 5, la valeur RecycleMemoryLimit sur 10, la valeur RecycleCallLimit sur 9, la valeur RecycleActivationLimit sur 100 et la valeur RecycleExpirationTimeout sur 15.

Sub Main()
    If Not SetMyApplicationRecycling("MyApp", 5, 10, 9, 100, 15) Then
        MsgBox "SetMyApplicationRecycling failed."
    End If
End Sub

Concepts de recyclage des applications COM+