Sto provando a racchiudere una chiamata a PostAsync in modo da non dover ricodificare la sequenza di chiamate su tutto il mio codice base. Il problema che sto riscontrando è HttpResponseMessage che ho assegnato dalla chiamata non è uguale a quello che il consumatore del mio metodo chiama. Ecco il codice:async attendo per una chiamata HttpClient.PostAsync
internal class RestHttpClient
{
public HttpResponseMessage ResponseMessage = new HttpResponseMessage();
public async void SendRequest(string adaptiveUri, string xmlRequest)
{
using (HttpClient httpClient = new HttpClient())
{
StringContent httpConent = new StringContent(xmlRequest, Encoding.UTF8);
try
{
ResponseMessage = await httpClient.PostAsync(adaptiveUri, httpConent);
}
catch (Exception ex)
{
ResponseMessage.StatusCode = HttpStatusCode.InternalServerError;
ResponseMessage.ReasonPhrase = string.Format("RestHttpClient.SendRequest failed: {0}", ex);
}
}
}
}
E io sto cercando di chiamare il metodo come segue:
RestHttpClient restHttpClient = new RestHttpClient();
restHttpClient.SendRequest(adaptiveUri, xmlRequest);
return restHttpClient.ResponseMessage;
Quando faccio la chiamata all'oggetto responseMessage contiene sempre uno stato Ok, anche se questo non è ciò che viene effettivamente restituito dalla chiamata PostAsync.
@Alexei Questo non è un duplicato. Questa domanda non risponde affatto al problema dell'OP –
@YuvalItzchakov in base al titolo che dovrebbe ... ma non ... rimosso. –