2012-07-10 3 views
13

ASP.NET Web APIでリクエストのコンテンツタイプを確認する方法がわかりません。コントローラレベルでapplication/xmlかapplication/jsonかどうかを確認する方法がありますか?ASP.Net Web APIでリクエストのコンテンツタイプをチェックする方法は?

助けていただければ幸いです。

+2

定期的に試しましたか?Request.Content.Headers.ContentType? –

+0

はい、それは私にいつもヌル値を与えています。私はそれが私にコンテンツタイプを与えるべきだと思ったが、それはそのプロパティの使用は何か不思議ではない? – user1186065

答えて

7

すべてのコントローラ上のコンテキストがあります:http://msdn.microsoft.com/en-us/library/system.web.mvc.controller.httpcontext.aspx

ですから、HttpContext.Request.ContentTypeを呼び出すことができるはずです。

+1

だから私は愚かです。私はRequest.Content.Headersプロパティをチェックしていました。私は、Request.Headersプロパティを使用する必要があります。エリカに感謝します。 – user1186065

+6

HttpContextは、ASP.NETランタイムとの互換性のためだけに使用しないでください。自己ホストでは機能しません。すべてのコントローラには、HttpContextオプションが不要なように直接アクセスできるRequestプロパティがあります。 –

+0

@DarrelMillerありがとう - 私はそれを実現していませんでした。 Requestプロパティは、HttpContextと同じプロパティ(HeadersおよびContentType)を持ちます。したがって、同じ方法で動作するはずです。 – Erica

関連する問題