2009-07-07 9 views

答えて

3

サービスとそのエンドポイントを知る必要はありません。特定のマシン上のすべての実行中のサービスを外部から提供するAPIはありません。

マーク

1

私はそれを行う方法があるのか​​分かりません。彼らは一元的に管理されていません。

10

これは非常に古い質問ですが、誰かがこの問題を抱えて答えが必要な場合は、PerformanceCounterCategoryクラスを使用してすべてのインスタンスを取得して、マシン上のサービスのリストを取得できます。

var category = new PerformanceCounterCategory("ServiceModelService 3.0.0.0", "machine name"); 
var instances = category.GetInstanceNames(); 

foreach (var instance in instances) 
{ 
    Console.WriteLine(instance); 
} 
+0

Jason!どこでどのようにこれを考え出しましたか? :) – Arjang

+4

以降のバージョンの.NETでは、異なるバージョン指定子が必要であることに注意してください。たとえば、.NET 4.5では3.0.0.0を4.0.0.0に置き換える必要があります。 (私は元の答えは、.NET 3.0または.NET 3.5のためだと思う)。あなたのマシンで利用可能なカテゴリを見るには 'var categories = PerformanceCounterCategory.GetCategories(); 'を使い、" ServiceModelService "のリストを検索してください。 –

関連する問題