2012-10-01 54 views
3

我創建了一個HttpClient來等待服務。這在asyncron函數的一個線程中運行。問題是,服務在2-3分鐘後發送響應。目前這些任務將被取消,因爲我從服務器獲得了成功的響應。是否有可能等待2到3分鐘的響應?在下面我的代碼:HttpClient /在地鐵應用程序

private async Task<string> loginService() 
    { 
     try 
     { 
      string post_data = "user_data"; 

      string uri = "http://myserver.de"; 

      HttpClient httpClient = new HttpClient(); 
      httpClient.MaxResponseContentBufferSize = 256000; 
      httpClient.DefaultRequestHeaders.Add("user-agent", "Mozilla/5.0 (compatible; MSIE 10.0; WIndows NT 6.2; WOW64; Trident/6.0)"); 

      HttpContent content = new FormUrlEncodedContent(new[] 
      { 
       new KeyValuePair<string, string>("data", post_data) 
      }); 

      HttpResponseMessage response = await httpClient.PostAsync(new Uri(uri), content); 
      response.EnsureSuccessStatusCode(); 
      string responseBodyAsText = await response.Content.ReadAsStringAsync(); 
      return responseBodyAsText; 
     } 
     catch 
     { 
      return "Error..."; 
     } 
    } 

哪種方法是最好的,我可以用它來獲得3分鐘後的響應?

回答

1

超時的默認值是100秒。您可以使用Timeout屬性將HTTPClient上的timeout設置爲3分鐘(或更高)。

httpClient.Timeout = new TimeSpan(0,3,0); 
相關問題