【问题标题】:How to ping a webservice like svc, asmx如何 ping 像 svc、asmx 这样的 Web 服务
【发布时间】:2011-10-26 02:35:55
【问题描述】:

我有 .net 应用程序,我想 ping 一些网络服务并在网页上显示状态。 我尝试 ping,但我得到“No such host in known”。

但是 ping 对 url 或 ip 有效,但对服务无效。

请在这里提出想法

更新:

我使用了 HttpWebResponse 和请求。我收到 401 未授权。

【问题讨论】:

  • 冷你包括更多细节和样本

标签: asp.net .net wcf sockets


【解决方案1】:

使用head HTTP verb 进行检查。 “这种方法通常用于测试超文本链接的有效性、可访问性和最近的修改。”

【讨论】:

  • 它没有到达那个部分。在此之前我收到 401 异常
  • 在发送请求之前试试这个来验证你的请求:blogs.msdn.com/b/buckh/archive/2004/07/28/199706.aspx
  • 让我试试。这处理 HttpWebRequest 和响应。为什么在这种情况下 Ping 不起作用?
  • 我的理解是 ping 在主机名和 IP 地址级别工作“允许应用程序确定远程计算机是否可通过网络访问。” msdn.microsoft.com/en-us/library/… 并且您想知道特定网址是否有效。
  • 收到错误 404 是否足以确保特定的 uri 不存在?还是我应该为此检查一些其他错误代码?
【解决方案2】:

你在 ping 什么?如果您想检查是否存在 Web 服务,则只需导航到该服务的完整 URL,然后查看是否找到了未找到的页面。在网页中,您甚至可以花哨并使用 ajax 请求检查它(查找 Microsoft.XMLHTTP) 有趣的是,您应该问这个问题,因为我开发的每个 web 服务,我添加到它的第一个方法是 ping :) 它以一个可以显示在表单上的衬里返回它的状态。

【讨论】:

  • 你能解释一下在这种情况下你是如何使用 ping 的吗?
  • 不,您不能使用 ping。 Ping 是一种特定类型的协议,它只向知道如何响应回显请求协议的端口发送消息。您必须使用 http 与网络服务器通信。如果您输入 http 请求以告诉它您想要获取哪个页面,您也可以使用 telnet 与网络服务器通信
  • degraeve.com/reference/simple-ajax-example.php 看看。小心当你触摸它时服务没有记录,否则服务器管理员会抱怨你用垃圾填充他的日志。
【解决方案3】:

如果您尝试 ping Web 服务地址而不是整个端点会怎样?基本上,端点由地址和位置组成。假设您有以下称为 CustomerService.svc 的 Web 服务。

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

您应该尝试 ping 到地址 myserver.somedomain.com。此外,您应该考虑某些服务器禁用了 ping 命令。

【讨论】:

    【解决方案4】:

    您可以下载一个应用程序,例如WCF StormSOAP UI,它将充当您的 WCF 服务的客户端。我相信两者都有免费版本。他们会让你构造一个 XML 请求来测试服务。

    另外,我喜欢在我的服务中放置一个实际的 Ping 方法,它接收 int 并返回具有相同 int 和时间戳的字符串。这不是绝对必要的,但它有助于在紧要关头进行健全性检查。

    【讨论】:

    • 我希望它用于我的应用程序,没有第三方工具
    猜你喜欢
    • 2013-05-04
    • 1970-01-01
    • 2011-04-25
    • 1970-01-01
    • 2012-04-21
    • 2013-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多