使用 COMAdminCatalog 之前,需要增加一个 Com 引用 COM +1.0 Admin Type Library ,如下图:
下面就简单的实现一个功能,遍历每个COM+ 应用,并显示出他们的一些信息。
同时,如果找到你指定的 COM+ 应用,则设置它一直运行(Leave running when idle)。
using COMAdmin;
COMAdminCatalog ca = new COMAdminCatalogClass();
COMAdminCatalogCollection cacc =
(COMAdminCatalogCollection)ca.GetCollection("Applications");
cacc.Populate();
foreach (COMAdminCatalogObject cac in cacc)
{
Console.WriteLine("**************");
Console.WriteLine(cac.Name);
Console.WriteLine(cac.Key);
Console.WriteLine(cac.Valid);
string[] nameArr = new string[] {
"Identity",
"ID",
"Description",
"Activation",
"Changeable",
"Deleteable",
"Name",
"ApplicationAccessChecksEnabled",
"AccessChecksLevel",
"RunForever",
"ApplicationAccessChecksEnabled",
};
foreach (string name in nameArr)
{
bool b2 = cac.IsPropertyWriteOnly(name);
bool b1 = cac.IsPropertyReadOnly(name);
object o = string.Empty;
if (!b2) o = cac.get_Value(name);
Console.WriteLine(string.Format("{0} ** ReadOnly {1} WriteOnly {2} = {3}{4}",
name, b1, b2, o, Environment.NewLine));
}
if (cac.Name.ToString() == "您自己的企业服务的名字")
{
cac.set_Value("RunForever", true);
cacc.SaveChanges();
}
}
上述代码的设置效果,等同于你通过以下步骤的设置:
在 Component Services 的 Com+ 应用列表中 选择你需要处理的企业服务。右键属性窗口中,选择 Advanced 属性页。
然后在 Server Process Shutdown 中,单选 Leave running when idle。
当然,上面只是一个简简单单的一项设置的变化。其实你可以有很多属性都可以按照上述代码进行变更。
每个字符串对应企业服务的那个属性,你可以在以下地址查询到:
http://msdn2.microsoft.com/en-gb/library/ms686107.aspx
http://msdn2.microsoft.com/en-gb/library/ms687763.aspx
参考资料:
http://msdn.microsoft.com/library/default.asp?url=/msdnmag/issues/0900/instincts/toc.asp
Automating COM+ Administration
http://blog.robinzhong.com/index.php/archives/2006/09/28/124.html
在.NET中使用COMAdmin组件管理COM+组件
http://www.csharphelp.com/archives3/archive482.html
COM+ Automation using .NET C#
http://www.codeproject.com/com/complus_admin.asp
Programmatic administration of COM+ Applications with the COM+ Admin objects in VC++
打印 | 张贴于 2006-12-08 17:44:00 | Tag:ServicedComponent(企业服务)
留言反馈
这样执行 installutil 的时候,就会自动设置一些你需要的配置。
继而很方便的可以在项目的生成事件中,部署和配置 COM+