Настройка значений рециркуляции приложений COM+
Для настройки значений переработки приложений для приложения COM+ можно использовать следующие методы.
Примечание.
Невозможно переработать приложение COM+, которое было настроено для запуска в качестве службы Windows. Кроме того, приложения библиотеки имеют свойства переработки и объединения свойств их хост-процесса.
Средство Администратор istrative Services
Чтобы настроить повторное использование приложений для приложения COM+, выполните следующие действия.
В дереве консоли средства администрирования служб компонентов щелкните правой кнопкой мыши приложение СЕРВЕРА COM+, которое вы хотите перезаработать, а затем нажмите кнопку " Свойства".
На вкладке "Пулинг и переработка" введите значения для ограничения времени существования (минут), ограничения памяти (КБ), времени ожидания окончания срока действия (минуты), ограничения вызовов и ограничения активации в зависимости от условий, которые требуется использовать.
- Ограничение времени существования указывает максимальное количество минут, которое может выполняться перед перезапуском процесса. Допустимый диапазон составляет от 0 до 30 240 минут (21 дней). Значение по умолчанию — 0.
- Ограничение памяти указывает максимальный объем использования памяти процесса (в килобайтах) перед повторной обработкой процесса. Если использование памяти процесса превышает указанное число дольше одной минуты, процесс перезапускается. Допустимый диапазон составляет от 0 до 1048 576 КБ, а объем памяти по умолчанию — 0 КБ.
- Время ожидания срока действия указывает количество минут ожидания, прежде чем принудительно завершить работу, для выпуска всех внешних ссылок на объекты в процессе. Допустимый диапазон составляет 1–1440 минут (24 часа), а время истечения срока действия по умолчанию — 15 минут. Это значение используется только в том случае, если оно уже определено, что процесс будет переработаться на основе других критериев.
- Ограничение вызовов указывает максимальное количество вызовов, которые объекты приложения могут принимать перед повторной обработкой процесса. Допустимый диапазон составляет от 0 до 1 048 576 вызовов, а по умолчанию — 0.
- Ограничение активации указывает максимальное количество активаций объектов приложения, которые необходимо принять перед повторной обработкой процесса. Допустимый диапазон составляет от 0 до 1 048 576 активаций, а число активаций по умолчанию — 0.
Примечание.
Если для ограничения времени существования, ограничения памяти, предела вызова или ограничения активации задано значение 0 (значение по умолчанию), повторное использование приложения для этого критерия отключено. Если для всех четырех этих условий задано значение 0, для выбранного приложения отключается повторное использование приложений.
Щелкните OK.
Visual Basic
Следующая функция в Microsoft Visual Basic демонстрирует, как задать значения перезапуска приложений для любого выбранного серверного приложения COM+. Чтобы использовать его из Visual Basic, добавьте ссылку на библиотеку типов 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
Чтобы использовать функцию, укажите строковое значение для имени приложения и целочисленных значений для требуемых параметров перезапуска приложения. В следующем коде Visual Basic показано, как задать значение RecycleLifetimeLimit равным 5, значение RecycleMemoryLimit равным 10, значение RecycleCallLimit равным 9, значение RecycleActivationLimit равным 100, а значение RecycleExpirationTimeout — 15.
Sub Main()
If Not SetMyApplicationRecycling("MyApp", 5, 10, 9, 100, 15) Then
MsgBox "SetMyApplicationRecycling failed."
End If
End Sub
См. также