Trong một trong các yêu cầu Nhận của tôi, tôi muốn trả lại một HttpResponseMessage với một số nội dung. Hiện tại tôi có nó hoạt động như sau:API Web: Nội dung trong HttpResponseMessage
var header = new MediaTypeHeaderValue("text/xml");
Request.CreateResponse(HttpStatusCode.OK, myObject, header);
Tuy nhiên, vì tôi đang sử dụng Yêu cầu tĩnh, điều này trở nên thực sự khó kiểm tra. Từ những gì tôi đã đọc, tôi có thể thực hiện những việc sau:
return new HttpResponseMessage<T>(objectInstance);
Tuy nhiên, dường như không thể thực hiện việc này. Có phải vì tôi đang sử dụng phiên bản WebApi/.NET cũ hơn không?
Trên một mặt lưu ý, tôi phát hiện ra rằng bạn có khả năng có thể tạo ra một phản ứng như sau:
var response = new HttpResponseMessage();
response.Content = new ObjectContent(typeof(T), objectInstance, mediaTypeFormatter);
gì bối rối với tôi là tại sao tôi phải để thêm một mediaTypeFormatter đây. Tôi đã thêm trình định dạng loại phương tiện ở cấp global.asax.
Cảm ơn!
Bạn phải vượt qua các định dạng bởi vì nếu không ObjectContent sẽ cần phải sử dụng một thành viên tĩnh để truy cập bộ sưu tập toàn cầu, trong đó sẽ thực hiện kiểm tra khó khăn hơn. –
Yêu cầu không phải là tĩnh, nó là một thành viên thể hiện của ApiController. –