Partilhar via


Configurando valores de reciclagem de aplicativos COM+

Você pode usar os seguintes métodos para configurar valores de reciclagem de aplicativo para seu aplicativo COM+.

Observação

Não é possível reciclar um aplicativo COM+ que tenha sido configurado para ser executado como um serviço do Windows. Além disso, as aplicações de biblioteca têm as propriedades de reciclagem e agrupamento do seu processo anfitrião.

 

Ferramenta Administrativa de Serviços de Componentes

Para configurar a reciclagem de aplicativos para um aplicativo COM+, use as seguintes etapas:

  1. No painel de navegação da ferramenta de administração dos Serviços de Componentes, clique com o botão direito do rato na aplicação de servidor COM+ que deseja reciclar e, em seguida, clique em Propriedades.

  2. Na guia de Agrupamento & de Reciclagem, insira valores para Limite de Vida (minutos), Limite de Memória (KB), Tempo Limite de Expiração (minutos), Limite de Chamadase Limite de Ativação, dependendo dos critérios que o utilizador deseja usar.

    • Limite de Vida Útil indica o número máximo de minutos que um processo pode executar antes de ser reciclado. O intervalo válido é de 0 a 30.240 minutos (21 dias). O número padrão de minutos é 0.
    • Limite de Memória indica a quantidade máxima de utilização de memória do processo (em kilobytes) antes de reciclar o processo. Se o uso de memória do processo exceder o número especificado por mais de um minuto, o processo será reciclado. O intervalo válido é de 0 a 1.048.576 KB, e a quantidade padrão de uso de memória é de 0 KB.
    • Tempo limite de expiração indica o número de minutos a esperar, antes de ser desligado à força, pela liberação de todas as referências externas a objetos no processo. O intervalo válido é de 1 a 1440 minutos (24 horas) e o tempo limite de expiração padrão é de 15 minutos. Este valor só é utilizado quando já está determinado que um processo será reciclado com base nos outros critérios.
    • Limite de Chamadas indica o número máximo de chamadas que os objetos de aplicação podem aceitar antes de reciclar o processo. O intervalo válido é de 0 a 1.048.576 chamadas e o número padrão de chamadas é 0.
    • Limite de Ativação indica o número máximo de ativações de objeto de aplicativo a serem aceites antes de reciclar o processo. O intervalo válido é de 0 a 1.048.576 ativações e o número padrão de ativações é 0.

    Observação

    Quando o Limite de Duração, o Limite de Memória, o Limite de Chamadasou o Limite de Ativação é definido como 0 (o valor padrão), a reciclagem de aplicações para esse critério é desativada. Quando todos esses quatro critérios são definidos como 0, a reciclagem de aplicativos é desabilitada para o aplicativo selecionado.

     

  3. Clique OK.

Visual Basic

A função a seguir no Microsoft Visual Basic demonstra como você pode definir os valores de reciclagem de aplicativo para qualquer aplicativo de servidor COM+ que você escolher. Para usá-lo do Visual Basic, adicione uma referência à biblioteca de tipos de administração COM+.

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 a função, forneça um valor de cadeia de caracteres para o nome do aplicativo e valores inteiros para as configurações de reciclagem de aplicativo desejadas. O código do Visual Basic a seguir mostra como definir o valor RecycleLifetimeLimit como 5, o valor RecycleMemoryLimit como 10, o valor RecycleCallLimit como 9, o valor RecycleActivationLimit como 100 e o valor RecycleExpirationTimeout 15.

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

Conceitos de reciclagem de aplicativos COM+