2013-04-30 2 views
1

У меня вопрос:
Как я могу с кодом C# или скриптом командной строки настроить параметры утилизации приложений?
(см скриншот ниже) Я не удалось найти подходящий .NET атрибуты
Ваша помощь будет очень ценным
Спасибо заранееНастройка параметров утилиты для COM + компонента из кода/командной строки

enter image description here

+0

Благодарим за ответ. YEs, мне нужно, чтобы компонент COM + регистрировался с настройками во время установки. Если это можно сделать с битой, все будет в порядке. –

+0

Спасибо за ссылку. Я попробовал образец кода из статьи MSDN, но после запуска настройки не были изменены. Нужно ли выполнять больше операций (save, commit и т. Д.)? Спасибо –

+0

Я изменил его для VBScript, и он уже работает. Спасибо –

ответ

1

Установка приложений Recycling свойства COM + приложение, безусловно, невозможно с .bat сценарий как таковой. Насколько мне известно, для этого нет атрибута .NET или System.EnterpriseServices.

COMAdmin - это способ программно установить свойства приложения COM +. См. Страницу Configuring COM+ Application Recycling Values MSDN. На странице представлен пример кода VB6 для настройки свойств утилизации приложений.

Ниже приведен простой порт образца MSDN для VBScript.

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

Function SetMyApplicationRecycling(_ 
    strApplicationName, _ 
    lngLifetimeLimit, _ 
    lngMemoryLimit, _ 
    lngCallLimit, _ 
    lngActivationLimit, _ 
    lngExpirationTimeout _ 
) ' Return False if any errors occur. 

    SetMyApplicationRecycling = False ' Initialize the function. 
    On Error Resume Next ' Initialize error handling. 

    Dim objAppCollection 
    Dim objApplication 
    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 
       objAppCollection.SaveChanges     

       MsgBox strApplicationName & _ 
        " recycling values are now set to the following: " & _ 
        vbNewLine & vbNewLine & _ 
        "Lifetime Limit (minutes) = " & lngLifetimeLimit & vbNewLine & _ 
        "Memory Limit (KB) = " & lngMemoryLimit & vbNewLine & _ 
        "Expiration Timeout (minutes) = " & lngExpirationTimeout & vbNewLine & _ 
        "Call Limit = " & lngCallLimit & vbNewLine & _ 
        "Activation Limit = " & lngActivationLimit 

       SetMyApplicationRecycling = True ' Successful end to procedure 
       Exit For 
      End If 
     End With 
    Next 

    Set objApplication = Nothing 
    Set objAppCollection = Nothing 
    Set objCatalog = Nothing 

    If Err.Number <> 0 Then 
     MsgBox "Error # " & Err.Number & " (Hex: " & Hex(Err.Number) _ 
     & ")" & vbNewLine & Err.Description 
     Exit Function 
    End If 
End Function 
Смежные вопросы