2017-11-08 34 views
0

HttpClientのTCP接続タイムアウトを設定する必要があります。現在のところ、要求全体に使用されている通常のタイムアウトを使用していますが、アプリケーションのPOSTを正しく制御するには不十分です。HttpClientのタイムアウトTCP接続

 Using client As New HttpClient() 
       Dim bArrayCredentials As Byte() = Encoding.UTF8.GetBytes(ConfigurationManager.AppSettings("LDAPUser") & ":" & ConfigurationManager.AppSettings("LDAPPass")) 
       client.DefaultRequestHeaders.Authorization = New AuthenticationHeaderValue("Basic", Convert.ToBase64String(bArrayCredentials)) 
       client.Timeout = TimeSpan.FromSeconds(CDbl(ConfigurationManager.AppSettings("TimeoutResponseLoginTVS")))     

       client.BaseAddress = New Uri(ConfigurationManager.AppSettings("URLLogin")) 
       Dim peticion = JsonConvert.SerializeObject(objPeticion) 
       Dim content As New StringContent(peticion, System.Text.Encoding.UTF8, "application/json") 
       Dim response As HttpResponseMessage = client.PostAsync(page, content).Result 
       If IsResponseValid(response.StatusCode) Then 
        Dim result As String = response.Content.ReadAsStringAsync().Result 
        Return result 
       End If 

       Return Nothing 
      End Using 

◗HttpClientのTCP接続タイムアウトを設定する方法はありますか?

最後の質問に回答できない場合は、HttpWebRequestのTCP接続タイムアウトを設定できますか?

+0

これはそれを行うための正しい方法である:
例は、5分にタイムアウトを設定します。その実際の問題は何ですか? – Chillzy

+0

このバージョンでは、自分自身で接続タイムアウトを制御することはできません。私はそれを別々に構成したい。 – miguelg93

+0

どういう意味ですか? – Chillzy

答えて

0

httpclientのタイムアウトは、デフォルトで100秒に設定する必要があります。

Dim Timeout As TimeSpan = TimeSpan.FromMinutes(5) 
client.Timeout = Timeout 
関連する問題