Wie kann überprüft werden, ob ein Webdienst ohne Ping ausgeführt wird?

8

Wie kann ich überprüfen, ob eine Methode in einem Web-Service funktioniert oder nicht? Ich kann kein Ping verwenden. Ich möchte immer noch jede Art von Methode überprüfen, die vom Web-Service vom Client aufgerufen wird. Ich weiß, es ist schwer zu verallgemeinern, aber es sollte einen Weg geben.

    
bebojoor 18.04.2012, 09:51
quelle

7 Antworten

3

Ich benutze diese Methode und es funktioniert gut:

%Vor%     
The Pig's Ear 12.09.2013 17:42
quelle
3

Die einzige Möglichkeit zu wissen, ob eine Web-Service-Methode "in Ordnung" ist, besteht darin, die Methode aufzurufen und dann zu bewerten, ob das Ergebnis "in Ordnung" ist. Wenn Sie eine Aufzeichnung von "Fein" gegen die Zeit aufbewahren möchten, können Sie das Ergebnis der Auswertung protokollieren.

Es gibt keinen allgemeineren Weg, dies zu tun, der einen Sinn ergibt. Überlegen Sie:

  1. Sie könnten Code haben, der eine HTTP-Verbindung zum Service-Endpunkt erstellt, aber der Erfolg sagt Ihnen nicht, ob der Service sofort eine Ausnahme auslöst, sobald Sie eine Nachricht senden.
  2. Sie könnten eine Verbindung herstellen und eine ungültige Nachricht senden, aber das sagt Ihnen nicht viel.
  3. Sie können eine Verbindung herstellen und eine gültige Nachricht senden. Überprüfen Sie dann das Ergebnis, um sicherzustellen, dass es gültig ist. Das gibt Ihnen eine ziemlich gute Idee, dass, wenn ein realer Client den Dienst unmittelbar danach aufruft, der reale Client ein gültiges Ergebnis erwarten sollte.
  4. Es sei denn, der Service nimmt das als Chance zum Absturz, nur um Sie zu ärgern!

Die beste Methode wäre die Verwendung der WCF-Ablaufverfolgung (möglicherweise mit Ablaufverfolgung auf Nachrichtenebene), um zu protokollieren, was tatsächlich mit dem Dienst geschieht, ob gut oder schlecht. Ein Mensch kann dann auf die Protokolle schauen, um zu sehen, ob sie "in Ordnung" sind.

    
John Saunders 05.06.2015 02:47
quelle
0

Verwenden Sie einfach try catch in der Methode Ihres Webservice und protokollieren Sie Ausnahmen in einer Protokolldatei oder im Ereignisprotokoll. Beispiel:

%Vor%

Sie müssen den Webservice nicht pingen, sondern den Server mit einem Watchdog-Dienst oder etwas pingen. Es besteht keine Notwendigkeit, den Webservice zu "pingen". Ich denke auch, dass du das sowieso nicht machen musst. Entweder Ihr Webservice funktioniert oder es ist nicht wegen schlechtem Code.

    
Rumplin 18.04.2012 09:55
quelle
0

Sie können curl versuchen. Es ist ein Linux-Tool, sollte auch in Cygwin sein.

%Vor%

Es gibt viele Optionen; Beispiele finden Sie im "Netz".

    
18446744073709551615 18.04.2012 09:58
quelle
0

Wie ich es sehe, haben Sie 2 Möglichkeiten:

  • Wenn Sie auf den Server zugreifen können, auf dem es ausgeführt wird, protokollieren Sie jeden Aufruf (und Ausnahmen).
    Lesen Sie die Protokolldatei mit einem weichen Barschwanz , das aktualisiert wird, während die Datei geschrieben wird.

  • Wenn Sie nicht auf den Server zugreifen können, müssen Sie dafür sorgen, dass der Webservice dieses Protokoll remote auf einen anderen Computer schreibt, auf den Sie zugreifen können.
    Bei beliebten Loggern ist diese Funktionalität integriert. ( Log4Net , ...)

Louis Kottmann 18.04.2012 10:03
quelle
0

Sie könnten auch die Verfolgung verwenden.

Ссылка

Ссылка

    
Ralf de Kleine 18.04.2012 12:36
quelle
-1

Sie können sich selbst ein kleines Tool oder Windows-Dienst schreiben oder was auch immer Sie brauchen, dann schauen Sie sich diese 2 Artikel an:

C #: Wie programmgesteuert Überprüfen Sie, ob ein Web-Service läuft und läuft?

prüfen, ob der Web-Service läuft und läuft - effizient

BEARBEITEN: Dies war meine Implementierung in einem ähnlichen Szenario, in dem ich wissen muss, ob vor dem Anruf immer noch ein externer Dienst existiert:

%Vor%     
CS Smit 14.03.2016 07:49
quelle

Tags und Links