2013-03-03 20 views
8

Mam metody POST, która zwraca HttpResponseMessage:Jak uzyskać obiekt z HttpResponseMessage?

HttpResponseMessage response = 
    Request.CreateResponse(HttpStatusCode.Created, updatedItemDto); 

Piszę niektóre testy dla tego i chciałby uzyskać zaktualizowany element z HttpResponseMessage (zwłaszcza ItemId). Próbowałem sprawdzić obiekt i wygląda na to, że obiekt żyje w Response.Content, ale nie wiem, jak go uzyskać z Content.

+0

Czy można uzyskać dostęp do [właściwości treści] (http://msdn.microsoft.com/en-us/library/system.net.http.httpresponsemessage.content.aspx)? Do czego służy powrót? – rae1

+0

Tak, mogę. Zwrot jest w teście, który pobiera ItemID Item i aktualizuje niektóre wartości. – RobVious

+0

Ponieważ .Content nie jest RobVious

Odpowiedz

4

Możesz sprawdzić odpowiedź w debugerze, ponieważ wspomniałeś "wygląda na to, że obiekt znajduje się w Response.Content".

Być może trzeba oddać go do czegoś sensownego, jak w this response,

Request.CreateResponse(HttpStatusCode.Created, updatedItemDto) as MyObject; 
4

Jeśli HttpResponseMessage zawierają odcinkach model danych znanej klasy można użyć ReadAsAsync<>() metodę rozszerzenia jak to

MyObject obj = await response.ReadAsAsync<MyObject>(); 

A to jest najprostszy i najprostszy sposób.

+0

co masz na myśli mówiąc "właściwe"? – Illuminati

+0

Znany model danych (klasa) –

Powiązane problemy