2011-10-26 42 views
6

Tôi có ứng dụng .net và tôi muốn ping một số dịch vụ web và hiển thị trạng thái trên trang web. Tôi đã thử ping nhưng tôi nhận được "Không có máy chủ lưu trữ nào được biết đến".Cách ping một dịch vụ web như svc, asmx

Nhưng ping hoạt động cho url hoặc ip nhưng không hoạt động đối với dịch vụ.

Hãy đưa ý tưởng ở đây

UPDATE:

tôi đã sử dụng HttpWebResponse và yêu cầu. Tôi nhận được 401 trái phép.

+0

Lạnh bạn bao gồm thêm chi tiết và mẫu – Kuncevic

Trả lời

0

Nếu bạn cố gắng ping địa chỉ Dịch vụ web thay vì toàn bộ Điểm kết thúc thì sao? Về cơ bản một EndPoint được sáng tác bởi một địa chỉ một vị trí. Giả sử bạn có dịch vụ Web sau đây gọi là CustomerService.svc.

http://myserver.somedomain.com/services/CustomerService.svc 

Bạn nên thử ping đến địa chỉ myserver.somedomain.com. Ngoài ra, bạn nên xem xét rằng một số máy chủ có lệnh ping bị tắt.

1

Bạn đang ping gì? Nếu bạn muốn kiểm tra xem liệu dịch vụ web có ở đó không, sau đó chỉ cần điều hướng đến URL đầy đủ của dịch vụ và xem bạn có nhận được trang không tìm thấy hay không. Trong một trang web, bạn thậm chí có thể có được ưa thích và kiểm tra nó bằng cách sử dụng một yêu cầu ajax (tra cứu Microsoft.XMLHTTP) Hài hước bạn nên hỏi điều này bởi vì mỗi webservice tôi đã phát triển, phương pháp đầu tiên tôi thêm vào nó là ping :) nhà nước trong một lớp lót có thể được hiển thị trên một biểu mẫu.

+0

Bạn có thể giải thích cho tôi cách bạn sử dụng ping trong trường hợp này không? – Praneeth

+0

Không, bạn không thể sử dụng ping. Ping là một loại giao thức specif chỉ gửi một thông báo đến một cổng biết cách trả lời giao thức yêu cầu echo. Bạn phải sử dụng http để nói chuyện với một máy chủ web. Bạn cũng có thể nói chuyện với máy chủ web bằng cách sử dụng telnet nếu bạn nhập vào yêu cầu http để cho biết trang nào bạn muốn nhận được – MartyTPS

+0

http://www.degraeve.com/reference/simple-ajax-example.php kiểm tra xem. Cẩn thận rằng dịch vụ không đăng nhập khi bạn chạm vào nó hoặc quản trị viên máy chủ sẽ khiếu nại rằng bạn đang điền các nhật ký của mình bằng rác. – MartyTPS

0

Bạn có thể tải xuống ứng dụng như WCF Storm hoặc SOAP UI sẽ hoạt động như một khách hàng sử dụng dịch vụ WCF của bạn. Cả hai đều có phiên bản miễn phí, tôi tin. Chúng sẽ cho phép bạn xây dựng một yêu cầu XML để kiểm tra dịch vụ.

Ngoài ra, tôi muốn đặt một phương thức Ping thực tế trong các dịch vụ của mình nhận được int và trả về một chuỗi có cùng số int và dấu thời gian. Nó không hoàn toàn cần thiết, nhưng nó giúp kiểm tra sự tỉnh táo trong một nhúm.

+0

Tôi muốn nó cho ứng dụng của tôi không có công cụ của bên thứ ba – Praneeth

3

Sử dụng head HTTP verb để kiểm tra. "Phương pháp này thường được sử dụng để kiểm tra các liên kết siêu văn bản để có hiệu lực, khả năng truy cập và sửa đổi gần đây".

+0

Nó không đạt đến phần đó. Tôi nhận được ngoại lệ 401 trước đó – Praneeth

+0

Hãy thử điều này để xác thực yêu cầu của bạn trước khi gửi: http://blogs.msdn.com/b/buckh/archive/2004/07/28/199706.aspx –

+0

để tôi dùng thử. Điều này đề với HttpWebRequest và phản hồi. Tại sao Ping không hoạt động trong trường hợp này? – Praneeth

Các vấn đề liên quan