2016-08-29 4 views
1
HttpResponseMessage r = new HttpResponseMessage(); 
    r.StatusCode = HttpStatusCode.OK; 
    r.ReasonPhrase = "SUCCESS"; 

Теперь, как я могу передать объект своего клиента классом HttpResponseMessage на стороне клиента?Как вернуть данные о клиентах с HttpResponseMessage

один путь return Request.CreateResponse(HttpStatusCode.OK, customers);

предположим, если я не хочу, чтобы вернуть ответ этот путь Request.CreateResponse(HttpStatusCode.OK, customers);, а я хочу, чтобы создать экземпляр HttpResponseMessage и инициализировать несколько собственности, а затем вернуться. так скажите мне ow, могу ли я передать объект моего клиента на HttpResponseMessage class на стороне клиента?

ответ

2

Простой способ вы должны создать ответ на основе запроса:

return Request.CreateResponse(HttpStatusCode.OK, customers); 

Потому что под капотом, этот метод будет иметь дело переговоров содержания для вас, которые вы не заботитесь много. В противном случае вам необходимо иметь дело вручную, как показано ниже:

IContentNegotiator negotiator = this.Configuration.Services.GetContentNegotiator(); 

ContentNegotiationResult result = negotiator.Negotiate(
    typeof(Customer), this.Request, this.Configuration.Formatters); 

var response = new HttpResponseMessage 
{ 
    StatusCode = HttpStatusCode.OK, 
    Content = new ObjectContent<Customer>(customer, 
     result.Formatter, result.MediaType) 
}; 

return response; 
Смежные вопросы