2014-01-15 75 views
0

因此,我正在關注本教程:http://www.asp.net/web-api/overview/web-api-clients/calling-a-web-api-from-a-net-client,我想知道我如何查看我連接到的網站是否處於離線狀態。如何查看HttpClient是否連接到離線網站

這是我有

HttpClient client = new HttpClient(); 
client.BaseAddress = new Uri("http://localhost:54932/"); 

client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); 
HttpResponseMessage response = client.GetAsync("api/products").Result; 
Console.WriteLine("here"); 

代碼當URL http://localhost:54932/在線一切工作只是罰款,並打印here。但是,當網站處於脫機狀態時,不會打印here。我如何知道IP地址是否已關閉?

回答

2

你應該設置一個超時時間來知道網站是否啓動。

here一個例子:

// Create an HttpClient and set the timeout for requests 
HttpClient client = new HttpClient(); 
client.Timeout = TimeSpan.FromSeconds(10); 

// Issue a request 
client.GetAsync(_address).ContinueWith(
    getTask => 
    { 
      if (getTask.IsCanceled) 
      { 
       Console.WriteLine("Request was canceled"); 
      } 
      else if (getTask.IsFaulted) 
      { 
       Console.WriteLine("Request failed: {0}", getTask.Exception); 
      } 
      else 
      { 
       HttpResponseMessage response = getTask.Result; 
       Console.WriteLine("Request completed with status code {0}", response.StatusCode); 
      } 
    }); 
+0

大非常感謝! – user3182508

相關問題