Hello everybody,
I have a Web service which works fine in production environment.
But sometimes (randomly) an exception is raised :
- à System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)\r\n
- à System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)\r\n
- à System.Threading.Tasks.Task`1.get_Result()\r\n
- à fctSendRequestSynchrone[T](String sRequest, enumHttpMethod eMethod, Object oParams)\r\n
- à API.csRestApi.<SendRequest>d__0`1.MoveNext()"
Here is my code :
- .........
-
-
- fctSendRequestSynchrone<string>(string.Format("logs/{0}/message", _lIdLog), cs.enumHttpMethod.POST, oLogLigne);
-
- .........
-
-
- private T fctSendRequestSynchrone<T>(string sRequest, csRestApi.enumHttpMethod eMethod, object oParams = null)
- {
- Task<T> otask = fctSendRequest<T>(sRequest, eMethod, oParams);
- return otask.Result;
- }
-
-
-
- public async Task<T> SendRequest<T>(string sAction, enumHttpMethod eMethod, object oParams = null)
- {
-
- string sResponse = string.Empty;
- T oValue;
-
- using (var oClient = new HttpClient(new LogginHandler(_oCnx, new HttpClientHandler())))
- {
- oClient.DefaultRequestHeaders.Accept.Clear();
- oClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
-
- string sRequest = string.Concat(_sUrlApi, "/", sAction);
-
- if (_oToken != null)
- {
- oClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue(_oToken["token_type"], _oToken
- ["access_token"]);
- }
-
- using (HttpResponseMessage oResponse = await oClient.PostAsJsonAsync(sRequest, oParams))
- {
- if (oResponse.IsSuccessStatusCode)
- {
- HttpContent content = oResponse.Content;
- sResponse = await content.ReadAsStringAsync();
- }
- else
- {
- throw new RestApiException(oResponse);
- }
- }
-
- }
-
- oValue = JsonConvert.DeserializeObject<T>(sResponse);
-
- return oValue;
- }
Do you have an idea ?
Thank you very much in advance.
Eric