C# — получить свойства компонента COM+?

У меня есть компонент COM+ на сервере (Windows Server 2003). Есть ли способ программно получить свойства этого компонента (например, используемую строку конструктора)?

Когда я захожу в «Инструменты администрирования» -> «Службы компонентов» -> «Приложения COM+» и щелкаю правой кнопкой мыши по моему компоненту, я хочу получить эти свойства и записать их в файл.

Есть ли способ сделать это?

Заранее спасибо.


person Jimmy Collins    schedule 30.06.2010    source источник


Ответы (1)


Можно использовать API администрирования COM+ для свойства компонента. Различные коллекции, которые вы можете получить, можно найти здесь. Из визуальной студии вы должны добавить ссылку на файл COM+ 1.0 Admin Type Library. По сути, вы должны сделать что-то вроде (не проверено):

COMAdminCatalogCollection applications;
COMAdminCatalog catalog;

catalog = new COMAdminCatalog();
applications = (COMAdminCatalogCollection)catalog.GetCollection("Applications");
applications.Populate();

foreach(COMAdminCatalogObject application in applications)
{
    //do something with the application
    if(  application.Name.Equals("MyAppName") )
    {
        COMAdminCatalogCollection components;
        components = applications.GetCollection("Components", application.Key)

        foreach(COMAdminCatalogObject component in components)
        {
            // do something with component
        }
    }

}
person Garett    schedule 30.06.2010
comment
Похоже, это именно то, что я ищу - я буду исследовать. Спасибо Гаретт за ответ. - person Jimmy Collins; 01.07.2010
comment
компоненты.Заполнить(); отсутствует перед циклом через коллекцию. - person uli78; 13.01.2015