Объекты приложения COM+ не отображаются

Когда я использую

string computerName;
string applicationName;

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

приложение com+ запускается, но когда я проверяю статус компонента в службе компонентов, я не вижу никаких объектов в каждом компоненте. В объекте, активированных и объединенных столбцах ничего нет.

Как сделать так, чтобы объекты отображались?


person Zabaa    schedule 23.11.2012    source источник
comment
Я не уверен, в чем проблема. Ваша проблема в том, что вы не видите какие-либо классы в списке компонентов, или столбцы «Объекты», «Активированные», «Объединенные», «Вызов» и «Время вызова (мс)» пусты?   -  person GTG    schedule 23.11.2012
comment
Второе, com+ приложение должно создать несколько процессов. Столбцы «Объекты», «Активированные», «В пуле», «Вызов» и «Время вызова (мс)» пусты. Бывает в 50% случаев запуск программы.   -  person Zabaa    schedule 23.11.2012


Ответы (1)


Код, который вы показываете, запускает приложение COM+, но столбцы «Объекты», «Активированные», «В пуле», «Вызов» и «Время вызова (мс)» относятся к тому, сколько объектов было запущено в этом приложении.

Приложение — это процесс, в котором размещается служба. Каждый объект является экземпляром службы.

Обычно экземпляры объектов не создаются автоматически при запуске приложения, они создаются, когда вы специально создаете их экземпляры, вызывая New (VB), CreateObject (VB) или CoCreate... (C++).

Однако вы можете настроить объединение объектов. Когда объекты объединены в пул, при запуске приложения должно запускаться минимальное количество объектов. Пул объектов традиционно задавался щелчком правой кнопкой мыши по классу в службах компонентов, выбором «Свойства» -> «Активация» и установкой там правильных свойств. В C# это можно установить с помощью атрибута ObjectPooling в классе, а также в службах компонентов.

Вам это помогает?

person GTG    schedule 23.11.2012