确定Web服务何时可用

时间:2009-06-28 23:09:21

标签: c# web-services delphi

如何确定何时可以使用网络服务(在线)?在Delphi或C#中?

4 个答案:

答案 0 :(得分:12)

只需对Web服务进行有效调用即可。如果超时,或者您收到404错误,则Web服务不可用。

答案 1 :(得分: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());

答案 2 :(得分:4)

尝试使用它。如果它工作,那么它是可用的。如果没有,则不是(或者您和服务器之间存在网络连接问题)。这里没有魔力。

答案 3 :(得分:1)

最后我在Delphi .Net中编写了这段代码

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;
P.S:非常感谢你给我灵感。