2014-01-15 3 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 adres не работает?

ответ

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

Смежные вопросы