[英]Determine when a web service is available
我如何确定何时可以使用Web服务(在线)? 在Delphi或C#中?
只需对Web服务进行有效调用即可。 如果超时,或者您收到404错误,则Web服务不可用。
你可以尝试这种方法..
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());
尝试使用它。 如果它工作,那么它是可用的。 如果没有,则不是(或者您和服务器之间存在网络连接问题)。 这里没有魔力。
最后我在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;
PS:非常感谢你给我灵感。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.