2009-06-28 20 views

उत्तर

12

बस वेब सेवा के लिए एक वैध कॉल करें। यदि यह समय समाप्त हो जाता है, या आपको 404 त्रुटि मिलती है, तो वेब सेवा उपलब्ध नहीं है।

4

इसका उपयोग करने का प्रयास करें। यदि यह काम करता है, तो यह उपलब्ध है। यदि ऐसा नहीं होता है, तो यह नहीं है (या आपके पास और सर्वर के बीच नेटवर्क-कनेक्शन समस्याएं हैं)। यहां कोई जादू नहीं है।

5

आप इस विधि की कोशिश कर सकते ..

public bool IsAddressAvailable(string address) 
    { 
     try 
     { 
      using(System.Net.WebClient client = new WebClient()) 
      { 
       client.DownloadData(address); 
       return true; 
      } 
     } 
     catch 
     { 
      return false; 
     } 
    } 

... और यह इस तरह फोन ...

MessageBox.Show(IsAddressAvailable("http://localhost/my.webservices/mywebservice.asmx").ToString()); 
+0

मुझे यह पसंद है (और इसका इस्तेमाल किया है, धन्यवाद!) लेकिन यह सुझाव देगा कि जब आप क्लाइंट ऑब्जेक्ट को तुरंत चालू करते हैं तो आप एक यूएसआईएन स्टेटमेंट जोड़ते हैं। विशेष रूप से चूंकि यह एक पिंग है जिसका उपयोग बहुत अधिक किया जाएगा, यह महत्वपूर्ण है कि इसे निपटाया जाए। –

+1

हां। मैं अपना जवाब उचित रूप से अपडेट करूंगा। – lkg

1

अंत में मैं डेल्फी नेट में

function WebService_OnLine(UrlWebService:String): Boolean; 
Var 
urlCheck : uri; 
request : WebRequest; 
response : WebResponse; 
begin 
MemoLogWebService.Lines.Add('Testing WebService'); 
urlCheck := Uri.Create(UrlWebService); 
request  := WebRequest.CreateDefault(urlCheck); 
request.Timeout := 20000; 
    try 
     response :=request.GetResponse(); 
     MemoLogWebService.Lines.Add(response.Headers.ToString); 
     Result:=True; 
    except 
     on E : Exception do 
     Begin 
     MemoLogWebService.Lines.Add(E.Message); 
     Result:=False; 
     End; 
    end; 
End; 
इस कोड को लिखा

पीएस: मुझे प्रेरणा देने के लिए बहुत बहुत धन्यवाद।

+1

आपको अपने अपवाद जाल संचार आधारित अपवादों को सीमित करना चाहिए। आप शायद ही कभी अपवाद को फँसाना चाहते हैं क्योंकि संचार आधारित अपवादों के अलावा यह एक विनाशकारी त्रुटि हो सकती है। –

संबंधित मुद्दे