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.
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:
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.
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.
Sie können curl
versuchen. Es ist ein Linux-Tool, sollte auch in Cygwin sein.
Es gibt viele Optionen; Beispiele finden Sie im "Netz".
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 , ...)
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%Tags und Links wcf c# methods web-services ping