2012-07-10 46 views
13

我無法找到在ASP.NET Web Api中檢查請求內容類型的方法。有沒有一種方法可以檢查請求內容類型,無論它是控制器級別的application/xml還是application/json?如何檢查ASP.Net Web API中的請求內容類型?

任何幫助,將不勝感激。

+2

你有沒有嘗試一個常規:Request.Content.Headers.ContentType? – 2012-07-10 15:51:11

+0

是的,但它始終給我一個空值。我認爲這應該給我內容類型,但它不知道該屬性的用途是什麼? – user1186065 2012-07-10 16:00:24

回答

7

有每個控制器上的背景:http://msdn.microsoft.com/en-us/library/system.web.mvc.controller.httpcontext.aspx

所以,你應該能夠調用HttpContext.Request.ContentType

+1

我很愚蠢。我正在檢查Request.Content.Headers屬性。我應該使用Request.Headers屬性。謝謝Erica。 – user1186065 2012-07-10 16:11:38

+6

你真的想避免使用HttpContext,因爲那只是爲了與ASP.NET運行時兼容。它不會在自我主機中工作。每個控制器都有一個可直接訪問的Request屬性,因此不需要HttpContext選項。 – 2012-07-10 19:44:24

+0

@DarrelMiller謝謝 - 我沒有意識到這一點。 Request屬性具有與HttpContext相同的屬性(Headers和ContentType),因此它仍然應以相同的方式工作。 – Erica 2012-07-10 20:11:06