我无法找到在ASP.NET Web Api中检查请求内容类型的方法。有没有一种方法可以检查请求内容类型,无论它是控制器级别的application/xml还是application/json?如何检查ASP.Net Web API中的请求内容类型?
任何帮助,将不胜感激。
我无法找到在ASP.NET Web Api中检查请求内容类型的方法。有没有一种方法可以检查请求内容类型,无论它是控制器级别的application/xml还是application/json?如何检查ASP.Net Web API中的请求内容类型?
任何帮助,将不胜感激。
有每个控制器上的背景:http://msdn.microsoft.com/en-us/library/system.web.mvc.controller.httpcontext.aspx
所以,你应该能够调用HttpContext.Request.ContentType
。
我很愚蠢。我正在检查Request.Content.Headers属性。我应该使用Request.Headers属性。谢谢Erica。 – user1186065 2012-07-10 16:11:38
你真的想避免使用HttpContext,因为那只是为了与ASP.NET运行时兼容。它不会在自我主机中工作。每个控制器都有一个可直接访问的Request属性,因此不需要HttpContext选项。 – 2012-07-10 19:44:24
@DarrelMiller谢谢 - 我没有意识到这一点。 Request属性具有与HttpContext相同的属性(Headers和ContentType),因此它仍然应以相同的方式工作。 – Erica 2012-07-10 20:11:06
你有没有尝试一个常规:Request.Content.Headers.ContentType? – 2012-07-10 15:51:11
是的,但它始终给我一个空值。我认为这应该给我内容类型,但它不知道该属性的用途是什么? – user1186065 2012-07-10 16:00:24