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 :
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.
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.
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
Rubriques connexes