2

当我使用

string computerName;
string applicationName;

catalog = new COMAdminCatalog();
if (computerName != ".")
{
    catalog.Connect(computerName);
}
catalog.StartApplication(applicationName);

com+ 应用程序运行,但是当我在组件服务中检查组件的状态时,我看不到每个组件中的任何对象。对象、激活和池列中没有任何内容。

如何使对象显示?

4

1 回答 1

0

您显示的代码正在启动 COM+ 应用程序,但 Objects、Activated、Pooled、In Call 和 Call Time (ms) 列指的是该应用程序中已启动的对象数量。

应用程序是托管服务的进程。每个对象都是服务的一个实例。

通常,当您启动应用程序时不会自动创建对象实例,它们是在您通过调用 New (VB)、CreateObject (VB) 或 CoCreate... (C++) 专门实例化它们时创建的。

但是,您可以将对象设置为池化。当对象被池化时,应在启动应用程序时启动最少数量的对象。对象池传统上是通过右键单击组件服务中的类,选择属性->激活并在那里设置正确的属性来设置的。在 C# 中,这可以通过使用类上的 ObjectPooling 属性以及在组件服务中进行设置。

这对你有帮助吗?

于 2012-11-23T15:22:56.950 回答