我有以下问题:
如何从c#代码或命令行脚本配置应用程序回收设置?
(请看下面的截图)
我没有成功找到合适的.NET属性
你的帮助将非常宝贵
提前致谢
答案 0 :(得分:1)
设置应用程序使用.bat
脚本本身无法实现COM +应用程序的回收属性。据我所知,这样做没有.NET属性或System.EnterpriseServices
助手。
COMAdmin
是一种以编程方式设置COM +应用程序属性的方法。请参阅Configuring COM+ Application Recycling Values MSDN页面。该页面提供了用于配置Application Recycling属性的示例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