Làm thế nào tôi có thể xác định thời điểm một dịch vụ web khả dụng (trực tuyến)? trong Delphi hoặc C#?Xác định khi nào có dịch vụ web
Trả lời
Chỉ cần thực hiện cuộc gọi hợp lệ tới dịch vụ web. Nếu nó hết thời gian, hoặc bạn gặp lỗi 404, dịch vụ web sẽ không khả dụng.
Hãy thử sử dụng nó. Nếu nó hoạt động, sau đó nó có sẵn. Nếu không, thì nó không phải là (hoặc bạn có vấn đề kết nối mạng giữa bạn và máy chủ). Không có phép thuật ở đây.
Bạn có thể thử phương pháp này ..
public bool IsAddressAvailable(string address)
{
try
{
using(System.Net.WebClient client = new WebClient())
{
client.DownloadData(address);
return true;
}
}
catch
{
return false;
}
}
... và gọi nó là như thế này ...
MessageBox.Show(IsAddressAvailable("http://localhost/my.webservices/mywebservice.asmx").ToString());
Cuối cùng tôi Wrote mã này trong 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: Cảm ơn bạn rất nhiều vì đã cho tôi cảm hứng.
Bạn nên thu hẹp bẫy ngoại lệ của mình thành ngoại lệ dựa trên giao tiếp. Bạn hiếm khi nếu bao giờ muốn bẫy ngoại lệ vì đó có thể là một lỗi thảm khốc ngoài các ngoại lệ dựa trên truyền thông. –
- 1. Dịch vụ WCF có phải là dịch vụ web không?
- 2. JAVA Dịch vụ web ổn định và PHP Dịch vụ web an toàn. Tốt nhất?
- 3. Dịch vụ web Codeigniter
- 4. Lỗi XML khi gọi dịch vụ web
- 5. Khi nào thì không nên sử dụng dịch vụ web?
- 6. Xác thực CAS của dịch vụ web RESTful
- 7. Dịch vụ web và ứng dụng web
- 8. Cách tốt nhất để xác thực cho dịch vụ web
- 9. Đảm bảo dịch vụ web?
- 10. Đây có phải là dịch vụ web hoặc dịch vụ web không?
- 11. Xác thực JAXBElement trong Dịch vụ Web JPA/JAX-RS
- 12. Xác thực lẫn nhau với các dịch vụ web
- 13. Cách xác định tên và tham số của phương thức trong dịch vụ web wsdl
- 14. Xác thực dịch vụ web bằng cách sử dụng OpenID
- 15. Hibernate UnknownServiceException: Dịch vụ không xác định được yêu cầu khi giao dịch hoàn thành
- 16. có nghĩa là chỉ dành cho các dịch vụ web HOẶC cho cả dịch vụ web VÀ các trang web?
- 17. Lỗi xác thực proxy HTTP 407 khi gọi dịch vụ web
- 18. Dịch vụ Web Exchange ở đâu: ID ExtendedPropertyDefinition được xác định?
- 19. InvalidOperationException trong khi tạo cá thể dịch vụ web wcf
- 20. Dịch vụ web miễn phí để xác định mã zip địa chỉ IP
- 21. Dịch vụ web với Lisp
- 22. Dịch vụ web an toàn
- 23. trạng thái HTTP 407: xác thực Proxy cần Lỗi khi gọi dịch vụ web
- 24. Dịch vụ tài liệuDịch vụ web gốc
- 25. Định dạng ngày giờ đúng cho dịch vụ web
- 26. Dịch vụ web wcf json
- 27. Lỗi dịch vụ Web 'Không thể tạo loại' khi gọi dịch vụ từ Ajax
- 28. Trước khi xác thực yêu cầu dịch vụ web trong C#
- 29. Dịch vụ WCF thay vì Dịch vụ Web ASMX?
- 30. SOA/Dịch vụ Web Pagination
Tôi thích điều này (và đã sử dụng nó, cảm ơn!) Nhưng sẽ gợi ý bạn thêm câu lệnh USING khi bạn khởi tạo đối tượng khách hàng. Đặc biệt vì đây là một ping sẽ được sử dụng rất nhiều, điều quan trọng là nó được xử lý. –
Đúng. Tôi sẽ cập nhật câu trả lời của tôi một cách thích hợp. – lkg