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 foi configurado para ser executado como um serviço do Windows. Além disso, os aplicativos de biblioteca têm as propriedades de reciclagem e agrupamento de seu processo de host.
Ferramenta administrativa de serviços de componentes
Para configurar a reciclagem de aplicativos para um aplicativo COM+, use as seguintes etapas:
Na árvore de console da ferramenta administrativa Serviços de Componentes, clique com o botão direito do mouse no aplicativo de servidor COM+ que deseja reciclar e clique em Propriedades.
Na guia Pooling & Reciclagem, insira valores para Limite de Vida Útil (minutos), Limite de Memória (KB), Tempo Limite de Expiração (minutos), Limite de Chamada e Limite de Ativação, dependendo dos critérios que você deseja usar.
- Lifetime Limit 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 uso de memória do processo (em quilobytes) 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 é 0 KB.
- O tempo limite de expiração indica o número de minutos a esperar, antes de ser desligado à força, para a 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. Esse valor é utilizado somente quando já está determinado que um processo será reciclado com base nos demais critérios.
- Limite de Chamadas indica o número máximo de chamadas que os objetos de aplicativo 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 aceitas 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 valor Limite de Tempo de Vida, Limite de Memória, Limite de Chamada ou Limite de Ativação é definido como 0 (o valor padrão), a reciclagem de aplicativos para esse critério é desabilitada. Quando todos esses quatro critérios são definidos como 0, a reciclagem de aplicativos é desabilitada para o aplicativo selecionado.
Clique em 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 a partir 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 para 5, o valor RecycleMemoryLimit para 10, o valor RecycleCallLimit para 9, o valor RecycleActivationLimit para 100 e o valor RecycleExpirationTimeout para 15.
Sub Main()
If Not SetMyApplicationRecycling("MyApp", 5, 10, 9, 100, 15) Then
MsgBox "SetMyApplicationRecycling failed."
End If
End Sub
Tópicos relacionados