2017-06-05 83 views
-1

我沒有從Dynamics CRM Web服務器獲得響應,並且想知道下面的代碼是否有任何問題。我正在構建JSON有效負載並使用WEB API將請求發送到服務器端點未收到來自Dynamics CRM服務器Web的響應Api

using (HttpClient httpClient = new HttpClient()) { 
    Uri requesturi = new Uri(string.Format("{0}/api/data/v8.2",url)); 
    httpClient.BaseAddress = requesturi; 
    httpClient.Timeout = new TimeSpan(0, 10, 0); // 10 minutes 
    httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); 
    httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", result); 
    httpClient.DefaultRequestHeaders.Add("OData-MaxVersion", "4.0"); 
    HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, string.Format("/contacts",contact));     
    request.Content = new StringContent(props.ToString(), Encoding.UTF8, "application/json"); 
    HttpResponseMessage createResponse1 = await httpClient.SendAsync(request); 
    return createResponse1.StatusCode;    
} 

回答

1

降低以下行。

httpClient.Timeout = new TimeSpan(0, 10, 0); // 10 minutes 

httpClient.Timeout = new TimeSpan(0, 0, 10); // 10 seconds 

10分鐘是一個令人驚訝的很長一段時間來等待請求完成。 30秒是Web服務請求的永恆。

由於您已經指定了如此長的超時時間,如果出現瞬時錯誤或查找問題,您需要等待10分鐘纔會超時。

你可能會從代碼中得到一個錯誤或異常。

相關問題