Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# RESTAPI健康检查_C#_Rest - Fatal编程技术网

C# RESTAPI健康检查

C# RESTAPI健康检查,c#,rest,C#,Rest,我有很多API不是由我托管的,所以我无法控制API本身。我试图实现的是检查API是否在线。我已经尝试了几种方法: 使用HEAD方法向API端点发送HTTP请求 发送了一个空白的HttpWebRequest HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest; using (HttpWebResponse response = request.GetResponse() as HttpWebResponse) {

我有很多API不是由我托管的,所以我无法控制API本身。我试图实现的是检查API是否在线。我已经尝试了几种方法:

  • 使用HEAD方法向API端点发送HTTP请求
  • 发送了一个空白的HttpWebRequest

    HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
    using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
    {
        if (response.StatusCode == HttpStatusCode.NotFound)
            return false;
    
        return true;
    }
    
  • Ping服务器


  • 但不知何故,我的最终结果不够准确。它显示为脱机,但当我手动尝试调用API时,它似乎没有问题。有人找到解决方案了吗?

    只要服务器能够响应
    HEAD
    请求,第一个选项应该是好的。如果没有,应该有一些安全的
    GET
    endpoint可以替代使用


    对运行状况检查进行计时也是有意义的,这样,如果API服务器不活动,它就不会冻结你的应用程序

    使用API健康检查服务怎么样? 一些可以帮助您的链接:


    您可以使用邮递员监视器来实现这一点。Postman在免费帐户上提供1000次免费监视器运行,并通过电子邮件通知失败。通过指定监视器应运行的小时/天/周,可以将其设置为按计划运行

  • 只需创建一个邮递员集合:
  • 在集合中添加HTTP运行状况检查请求
  • 在集合上创建监视器:
  • 并设置它应该运行的频率
  • 您还可以通过Postman API手动触发监控器: