Compartir a través de


Configuración de valores de reciclaje de aplicaciones COM+

Puede usar los métodos siguientes para configurar los valores de reciclaje de aplicaciones para la aplicación COM+.

Nota

No se puede reciclar una aplicación COM+ configurada para ejecutarse como un servicio de Windows. Además, las aplicaciones de biblioteca tienen las propiedades de reciclaje y agrupación de su proceso de host.

 

Herramienta administrativa servicios de componentes

Para configurar el reciclaje de aplicaciones para una aplicación COM+, siga estos pasos:

  1. En el árbol de consola de la herramienta administrativa Servicios de componentes, haga clic con el botón derecho en la aplicación de servidor COM+ que desea reciclar y, a continuación, haga clic en Propiedades.

  2. En la pestaña Reciclaje de agrupación&, escriba los valores de Límite de duración (minutos),Límite de memoria (KB),Tiempo de espera de expiración (minutos), Límite de llamadas y Límite de activación, según los criterios que desee usar.

    • Límite de duración indica el número máximo de minutos que puede ejecutar un proceso antes de que se recicla. El intervalo válido es de 0 a 30 240 minutos (21 días). El número predeterminado de minutos es 0.
    • El límite de memoria indica la cantidad máxima de uso de memoria del proceso (en kilobytes) antes de reciclar el proceso. Si el uso de memoria del proceso excede el número especificado durante más de un minuto, el proceso se recicla. El intervalo válido es de 0 a 1048 576 KB y la cantidad predeterminada de uso de memoria es de 0 KB.
    • El tiempo de espera de expiración indica el número de minutos que se deben esperar, antes de cerrarse forzosamente, para la liberación de todas las referencias externas a los objetos del proceso. El intervalo válido es de 1 a 1440 minutos (24 horas) y el tiempo de espera de expiración predeterminado es de 15 minutos. Este valor sólo se usa cuando ya se ha determinado que un proceso se reciclará en función de otros criterios.
    • El límite de llamadas indica el número máximo de llamadas que los objetos de aplicación pueden aceptar antes de reciclar el proceso. El intervalo válido es de 0 a 1048 576 llamadas y el número predeterminado de llamadas es 0.
    • Límite de activación indica el número máximo de activaciones de objetos de aplicación que se aceptarán antes de reciclar el proceso. El intervalo válido es de 0 a 1048 576 activaciones y el número predeterminado de activaciones es 0.

    Nota

    Cuando el valor límite de duración, límite de memoria, límite de llamadas o límite de activación se establece en 0 (valor predeterminado), el reciclaje de la aplicación para ese criterio está deshabilitado. Cuando los cuatro criterios se establecen en 0, el reciclaje de aplicaciones se deshabilita para la aplicación seleccionada.

     

  3. Haga clic en OK.

Visual Basic

La siguiente función de Microsoft Visual Basic muestra cómo puede establecer los valores de reciclaje de la aplicación para cualquier aplicación de servidor COM+ que elija. Para usarlo desde Visual Basic, agregue una referencia a com+ Administración biblioteca de tipos.

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

Para usar la función , proporcione un valor de cadena para el nombre de la aplicación y los valores enteros para la configuración de reciclaje de la aplicación deseada. El siguiente código de Visual Basic muestra cómo establecer el valor RecycleLifetimeLimit en 5, el valor RecycleMemoryLimit en 10, el valor RecycleCallLimit en 9, el valor RecycleActivationLimit en 100 y el valor RecycleExpirationTimeout en 15.

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

Conceptos de reciclaje de aplicaciones COM+