C# 用c语言检查网站可用性#

C# 用c语言检查网站可用性#,c#,webrequest,C#,Webrequest,在我的WPF应用程序中,我需要定期检查网站的可用性 我有以下代码: public static string CheckWebsiteAccessibility(Uri uri) { var request = (HttpWebRequest)WebRequest.Create(uri); request.Timeout = 15000; request.Method = "HEAD"; var response = (HttpWebResponse)reques

在我的WPF应用程序中,我需要定期检查网站的可用性

我有以下代码:

public static string CheckWebsiteAccessibility(Uri uri)
{
    var request = (HttpWebRequest)WebRequest.Create(uri);
    request.Timeout = 15000;
    request.Method = "HEAD";
    var response = (HttpWebResponse)request.GetResponse();
    return response.StatusCode.ToString();
}
我每30秒打一次电话。在localhost中,它工作正常,但在另一台服务器上,有时会出现以下错误:

操作已超时

  • 这是检查网站可用性的好网站吗

  • 超时(防火墙?)的原因是什么?如何避免超时


  • 您可以尝试使用
    Webclient

    并尝试使用firefox测试该站点,单击F12并测试是否存在相同的问题

    WebClient client = WebClient.create("adresse");  
    Response response = client.get();  
    
    if (response.getStatus() == 200)
    {  
        // Web service up and running  
    }
    else
    {  
        // Web service is down 
    }
    

    您可以尝试使用
    Webclient

    并尝试使用firefox测试该站点,单击F12并测试是否存在相同的问题

    WebClient client = WebClient.create("adresse");  
    Response response = client.get();  
    
    if (response.getStatus() == 200)
    {  
        // Web service up and running  
    }
    else
    {  
        // Web service is down 
    }
    
    1-按照惯例,在C#中,方法名称以大写字母开头:)(create、get、getStatus)2-WebClient没有静态create方法。3-WebClient实例没有Get方法。1-按照约定,在C#中,方法名称以大写字母开头:)(create、Get、getStatus)2-WebClient没有静态创建方法。3-WebClient实例没有Get方法。