2012-07-10 21 views
13

Mam problem ze znalezieniem sposobu sprawdzania typu zawartości żądania w ASP.NET Web Api. Czy istnieje sposób, w jaki mogę sprawdzić typ zawartości żądania, czy jest to application/xml lub application/json na poziomie kontrolera?Jak sprawdzić typ zawartości żądania w ASP.Net Web API?

każda pomoc byłaby doceniona.

+2

Czy próbowałeś zwykłego: Request.Content.Headers.ContentType? –

+0

tak, ale to daje mi wartość zerową przez cały czas. Pomyślałem, że powinienem podać mi typ zawartości, ale nie zastanawiam się, jaki jest pożytek z tej własności? – user1186065

Odpowiedz

7

Jest kontekst na każdym kontrolerze: http://msdn.microsoft.com/en-us/library/system.web.mvc.controller.httpcontext.aspx

więc powinieneś być w stanie wywołać HttpContext.Request.ContentType.

+1

Tak głupi jestem. Sprawdzałem właściwość Request.Content.Headers. Powinienem używać właściwości Request.Headers. Dzięki, Erica. – user1186065

+6

Naprawdę chcesz uniknąć używania HttpContext, ponieważ jest tam tylko dla kompatybilności z środowiskiem wykonawczym ASP.NET. To nie zadziała w self-host. Każdy kontroler ma właściwość Request, do której można uzyskać bezpośredni dostęp, więc opcja HttpContext jest niepotrzebna. –

+0

@DarrelMiller dzięki - nie zdawałem sobie z tego sprawy. Właściwość Request ma takie same właściwości (Headers i ContentType), które ma HttpContext, więc powinna nadal działać w ten sam sposób. – Erica

Powiązane problemy