Random exception on Web service call

  • Thread starter Thread starter eric.bryan
  • Start date Start date
E

eric.bryan

Guest
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 :



.........//Here is the line which raises the exception :

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

Continue reading...
 
Back
Top