2010-06-30 68 views
5

我在服務器上有一個COM +組件(Windows Server 2003)。有沒有什麼辦法可以以編程方式檢索此組件的屬性(例如使用的構造函數字符串)?C# - 檢索COM +組件的屬性?

當我去Administritive工具 - >組件服務 - > COM +應用程序和我的組​​件上點擊右鍵,這些都是我希望能夠檢索和寫入文件的屬性。

有什麼辦法可以做到這一點?

在此先感謝。

回答

6

可以使用COM+ Administration API檢索組件的屬性。你可以找到的各種收藏可以找到here。從視覺工作室您可以添加對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 
     } 
    } 

} 
+0

這看起來像我正在尋找 - 我會調查。感謝Garett的迴應。 – 2010-06-30 20:21:08

+1

「components.Populate();」在循環收集之前缺少。 – uli78 2015-01-13 07:20:32