2016-07-08 9 views
0

Ich habe den folgenden Code, der einen URL-Test durchführt, um festzustellen, ob er auf eine gültige WSDL verweist, die gelesen werden kann.Testen, ob eine URL auf eine gültige WSDL verweist

Allerdings würde ich diesen Test lieber nicht mit einem try catch machen und würde lieber einen passenderen Aufruf verwenden, der einen Indikator zurückgibt, der angibt, ob es eine gültige URL ist oder nicht. Hier

ist der Code, den ich zur Zeit bin mit:

class TestProgram 
{ 
    static void Main(string[] args) 
    { 
     bool test = IsValid_WSDL_URL("http://notValid:888/test?wsdl"); 
    } 

    public static bool IsValid_WSDL_URL(string url) 
    { 
     using (var webClient = new System.Net.WebClient()) 
     { 
      try 
      { 
       webClient.OpenRead(url); 
       return true; 
      } 
      catch 
      { 
       return false; 
      } 
     } 
    } 
} 
+0

Was meinen Sie mit ' gültig '? Zuhören für Kunden? oder spezifische Antwort? In Ihrem Beispielcode testen Sie einfach, ob der Webserver tot ist oder nicht. –

+0

Hallo, ja, im Grunde möchte ich wissen, ob der Webservice auf der URL zur Verfügung steht, ohne einen try Catch zu verwenden – Domitius

Antwort

0

Add-Timeout auf Ihr webclient, sonst dauert sehr lange Zeit für Timeout:

private class MyWebClient : WebClient 
{ 
    protected override WebRequest GetWebRequest(Uri uri) 
    { 
     WebRequest w = base.GetWebRequest(uri); 
     w.Timeout = 3000; // 3 seconds 
     return w; 
    } 
} 
Verwandte Themen