1

我有以下问题:
如何从 c# 代码或命令行脚本配置应用程序回收设置?
(请看下面的截图)我没有成功找到合适的.NET属性
你的帮助将非常有价值
提前谢谢

在此处输入图像描述

4

1 回答 1

1

.bat使用脚本本身当然不可能设置 COM+ 应用程序的应用程序回收属性。据我所知,也没有 .NET 属性或System.EnterpriseServices帮助器可以做到这一点。

COMAdmin是一种以编程方式设置 COM+ 应用程序属性的方法。请参阅配置 COM+ 应用程序回收值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
于 2013-05-05T12:38:53.990 回答