2014-02-24 71 views
1

什麼是等效Request.CreateResponse的()

var newOrder = new OrderViewModel() 
{ 

    Id = orderDetails.Id, 
    Name = orderDetails.Service.Name, 
    ..... 
}; 

Request.CreateResponse(HttpStatusCode.OK, newOrder);

等效在這種格式:

HttpResponseMessage response = new HttpResponseMessage(); 
response.StatusCode = HttpStatusCode.OK; 
response.ReasonPhrase = "successfully created blablabla"; 

Request.CreateResponse()我可以通過一個對象。我該怎麼做與HttpResponseMessage

希望能夠傳遞消息(如ReasonPhrase),但無法通過Request.CreateResponse()執行此操作。或者我錯過了一些東西。

回答

2

要在對象作爲應答內容傳遞可以構造ObjectContent<T>

response.Content = new ObjectContent<OrderViewModel>(newOrder, 
             new JsonMediaTypeFormatter()) 

ObjectContent其他構造:

http://msdn.microsoft.com/en-us/library/hh835040(v=vs.118).aspx

+0

順便說喬安娜,莫非方法'Request.CreateResponse( )'也支持像response.ReasonPhrase這樣的自定義消息?看着文檔告訴我沒有。也許我錯過了一些東西。 – Quoter

+0

@Quoter - 不是我所知道的。你需要創建自己的擴展。 –

+0

好的,謝謝! – Quoter