2012-07-10 31 views
13

Tôi gặp khó khăn khi tìm cách kiểm tra loại nội dung yêu cầu trong ASP.NET Web Api. Có cách nào tôi có thể kiểm tra loại nội dung yêu cầu cho dù đó là ứng dụng/xml hoặc ứng dụng/json ở cấp điều khiển?Cách kiểm tra loại nội dung yêu cầu trong ASP.Net Web API?

bất kỳ trợ giúp nào sẽ được đánh giá cao.

+2

Bạn đã thử thường xuyên: Request.Content.Headers.ContentType? –

+0

có, nhưng nó mang lại cho tôi một giá trị null tất cả các thời gian. Tôi nghĩ rằng nên cho tôi loại nội dung nhưng nó không phải là sau đó tự hỏi việc sử dụng tài sản đó là gì? – user1186065

Trả lời

7

Có một bối cảnh trên tất cả các bộ điều khiển: http://msdn.microsoft.com/en-us/library/system.web.mvc.controller.httpcontext.aspx

Vì vậy, bạn sẽ có thể gọi HttpContext.Request.ContentType.

+1

Vì vậy, tôi câm. Tôi đã kiểm tra tài sản Request.Content.Headers. Tôi nên sử dụng tài sản Request.Headers. Cảm ơn Erica. – user1186065

+6

Bạn thực sự muốn tránh sử dụng HttpContext vì chỉ có khả năng tương thích với thời gian chạy ASP.NET. Nó sẽ không hoạt động trong máy chủ. Mỗi bộ điều khiển có một thuộc tính Request có thể được truy cập trực tiếp, vì vậy tùy chọn HttpContext là không cần thiết. –

+0

@DarrelMiller cảm ơn - Tôi đã không nhận ra điều đó. Thuộc tính Request có cùng các thuộc tính (Headers và ContentType) mà HttpContext có, vì vậy nó vẫn hoạt động theo cùng một cách. – Erica

Các vấn đề liên quan