có thể là một cái gì đó tôi đang làm sai, nhưng tôi đang trả về XML từ dịch vụ WCF Rest của tôi được xây dựng với VS 2010. Trong fiddler bạn có thể thấy ở đây nó sẽ trả về thử nghiệm/html là content-typeWCF REST: xác định loại nội dung trên thuộc tính WebGet dường như không hoạt động
HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 222
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Mon, 16 Aug 2010 20:49:55 GMT
vì vậy, tôi đã đi trước và bổ sung sau đây trên các thuộc tính WebGet trên phương pháp của tôi nhưng nó vẫn trả về text/html ... tôi đoán rằng tôi nên trả về nội dung loại văn bản/xml vì tôi thực sự trả về XML?
Heres phương pháp của tôi, tôi đã thêm các ResponseFormat vào thuộc tính ... Tôi đã không chắc chắn nếu tôi cần bodystyle (tôi không có ý tưởng những gì nó nhưng không thấy nó trong một ví dụ :-))
[WebGet(UriTemplate = "", BodyStyle = WebMessageBodyStyle.Bare, ResponseFormat = WebMessageFormat.Xml)]
public List<SampleItem> GetCollection()
{
// TODO: Replace the current implementation to return a collection of SampleItem instances
return new List<SampleItem>() { new SampleItem() { Id = 1, StringValue = "Hello" } };
}
dù sao sau khi thay đổi và xây dựng lại dự án, nó vẫn trả về loại nội dung sai ... tôi có bỏ lỡ mọi thứ không?
HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 222
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Mon, 16 Aug 2010 20:54:15 GMT
EDIT
Ok tôi đã nhận một giải pháp làm việc nhưng phương pháp thuộc tính không có tác dụng, rất lạ ... nhưng nếu tôi đặt này
WebOperationContext.Current.OutgoingResponse.ContentType = "text/xml";
Bây giờ tôi kiểm tra cáy và loại nội dung thực sự là văn bản/xml.
Nhưng tôi cần phải đặt điều này trong mọi phương pháp và phương pháp thuộc tính dường như không có hiệu lực.
Bất kỳ ai biết tại sao?
Tôi làm cho nó hoạt động, nhưng tôi không hiểu tại sao thuộc tính KHÔNG CÓ HIỆU QUẢ. Tôi sẽ cập nhật câu hỏi của tôi .. –
Không chắc chắn nếu bạn vẫn còn quan tâm đến câu hỏi này (nó được một vài ngày), nhưng làm thế nào bạn yêu cầu dịch vụ này? jQuery, cái gì khác? Tôi nghĩ rằng bạn đang nhận được văn bản/html vì đó là những gì đang được gửi trong tiêu đề Chấp nhận của yêu cầu (hoặc ContentType). Bạn có thể cập nhật bằng cách bạn yêu cầu dịch vụ và những gì người dùng đang nói là tiêu đề yêu cầu của bạn không? Cảm ơn! –
Hi D Hoerster, vâng tôi vẫn quan tâm ... Tôi đang làm một yêu cầu đơn giản bằng cách sử dụng firefox và tiêu đề của tôi được bao gồm trong câu hỏi trên .... Sao chép và dán từ fiddler. Cảm ơn –