Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

C# - Retrieve properties of a COM+ component?

Tags:

c#

com+

I have a COM+ component on a server (Windows Server 2003). Is there any way I can programmatically retrieve the properties of this component, (e.g. the constructor string used)?

When I go to Administritive Tools -> Component Services -> COM+ Applications and right click on my component, these are the properties I want to be able to retrieve and write to a file.

Is there any way I can do this?

Thanks in advance.

like image 440
Jimmy Collins Avatar asked Jun 30 '10 19:06

Jimmy Collins


1 Answers

You can use the COM+ Administration API to retrieve the properties of a component. The various collections you can retrieve can be found here. From visual studio you would add a reference to the COM+ 1.0 Admin Type Library. Essentially you would then do something like (not tested):

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
        }
    }

}
like image 183
Garett Avatar answered Nov 14 '22 10:11

Garett