Webservices auf Erreichbarkeit prüfen

Um zu Überprüfen ob ein oder mehrere WCF- / WebServices erreichbar sind, muss man die einzelnen Endpunkte aus der app.config auslesen. Die Adresse vom jeweiligen Endpoint, kann man dann via Webrequest prüfen und behandeln.

Folgender Lösungsansatz könnte dazu verwendet werden:

using System.Configuration;
using System.ServiceModel.Configuration;
using System.Net;

Zuerst finden wir unserer ClientSection in der app.config mit:

var clientSection = (ClientSection)ConfigurationManager.GetSection("system.serviceModel/client");

Mit diesem Ergebnis können wir dann eine ChannelEndpointElementCollection instanzieren:

var endpointCollection = (ChannelEndpointElementCollection)clientSection.ElementInformation.Properties[string.Empty].Value;

Die ChannelEndpointElementCollection iterieren wir, prüfen per Webrequest die Elementadresse und können die Ergebnisse je nach Anforderung weiter verarbeiten.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
foreach (ChannelEndpointElement endpointElement in endpointCollection)
{
   try
    {
        WebRequest request = WebRequest.Create(endpointElement.Address);
        request.GetResponse();
 
        //code wenn Endpoint erreichbar
    }
    catch (Exception)
    {
        //code wenn Endpoint nicht erreichbar
    }
}

 

Viel Spass beim entwickeln : )

Ähnliche Beiträge



Auch wenn Du nichts zu diesem Thema sagen möchtest, bringst du mit einem Klick auf den Like- oder KickButton zum Ausdruck, dass dir dieser Artikel gefällt. Vielen Dank : )

Kick it on dotnet-kicks.de

  1. Noch keine Kommentare.

  1. Noch keine Trackbacks.