Определить, когда веб-сервис доступен - PullRequest
5 голосов
/ 29 июня 2009

Как я могу определить, когда веб-сервис доступен (онлайн)? в Delphi или C #?

Ответы [ 4 ]

12 голосов
/ 29 июня 2009

Просто сделайте действительный звонок в веб-сервис. Если время ожидания истекло или вы получили ошибку 404, веб-служба недоступна.

5 голосов
/ 29 июня 2009

Вы можете попробовать этот метод ..

    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());
4 голосов
/ 29 июня 2009

Попробуйте использовать это.Если это работает, то это доступно.Если это не так, то это не так (или у вас есть проблемы с сетевым соединением между вами и сервером).Здесь нет магии.

1 голос
/ 29 июня 2009

Наконец-то я написал этот код в 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;

П.С .: Большое спасибо за то, что вдохновили меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...