2014-02-21 38 views

回答

4

基本上都返回相同的數據,但與HttpResponseMessage工作更加靈活,爲您提供更改返回HTTP響應的價值的機會。

例如,第一個方法返回的數據具有固定的HttpStatusCode.OK(200),如果不是例外被引發。在第二種方法中,你可以選擇你想返回的HttpStatusCode。也將能夠改變HTTP標頭的ContentType一樣,ContentDisposition等

看看這個關於這個話題http://soabubblog.wordpress.com/2013/07/07/web-api-httpresponsemessage/

而且這一次從官方網站asp.net介紹了不同類型的結果的簡潔和有價值的文章Web API控制器可以返回,指示每個的優點 http://www.asp.net/web-api/overview/web-api-routing-and-actions/action-results

1

我個人使用HttpResponseMessage只要需要對狀態代碼(錯誤處理等)或標頭進行實際操作。如果不是,我會返回一些通用對象。通過單元測試,我發現它更清晰易懂。

當您將錯誤處理作爲貫穿始終的關注點(例如通過方面)並且您的控制器代碼實際上沒有手動處理時,這大多數情況下適用。在這種情況下,返回其他對象是安全的。

相關問題