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