Laden...

Informationen über laufende WCF-Services-/WebServer-Instanzen ermitteln

Erstellt von Edward vor 11 Jahren Letzter Beitrag vor 11 Jahren 1.486 Views
E
Edward Themenstarter:in
118 Beiträge seit 2007
vor 11 Jahren
Informationen über laufende WCF-Services-/WebServer-Instanzen ermitteln

Guten Abend zusammen.

In meiner Firma entwickeln wir derzeit mehrere WCF Services. Jeder Service läuft - lokal - in einer WebDev.WebServer Instanz. Ich habe mir ein Tool geschrieben, welches alle laufenden WebDev.WebServer Instanzen beendet (ist echt nervig, 20 oder mehr Instanzen manuell beenden zu müssen). Das funktioniert auch problemlos (Process Klasse).

Ein Kollege hat mich auf eine Verbesserung hingewiesen: Alle laufenden Instanzen in einer Liste anzeigen und dem Benutzer die Wahl lassen, welche Instanzen beendet werden sollen. Allerdings scheine ich mit .NET Bordmitteln nur den Namen des Prozesses (eben "WebDev.WebServer40.exe" ermitteln zu können. Anscheinend komme ich an die Detailinformationen (z.B. welcher Service in der Instanz läuft) nicht heran.

Hat da jemand zufällig eine Idee?

Vielen Dank schon einmal im Voraus.

Edward

D
216 Beiträge seit 2009
vor 11 Jahren

Ich hab das zwar noch nie gemacht, aber eventuell kommst du über die ServiceController-Klasse da dran.

Darth Maim

E
Edward Themenstarter:in
118 Beiträge seit 2007
vor 11 Jahren

Hallo Darth Maim,

die ServiceController Klasse bietet leider nur Zugriffe auf Windows-Dienste, nicht aber auf WCF Services.

Gruß,
Edward

6.911 Beiträge seit 2009
vor 11 Jahren

Hallo Edward,

mittels WMI sollte es möglich sein. Grob so:


var category = new PerformanceCounterCategory("ServiceModelService 4.0.0.0", "Maschinenname");
var instanceNames = category.GetInstanceNames();
foreach (var instanceName in instanceNames)
{
    // in Liste darstellen
}

Hilfreich bei WMI ist der WMI Code Creator

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"