Tôi có một dự án WCF Rest Service được thiết lập để phục vụ các cơ sở dữ liệu JSON. Tôi đã xác định hợp đồng trong một tệp giao diện như:Trả về dữ liệu không phải JSON, không phải trong Dịch vụ REST WCF
[OperationContract]
[WebInvoke(Method = "GET",
ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Bare,
UriTemplate = "location/{id}")]
Location GetLocation(string id);
Bây giờ WebService cần trả lại tài liệu đa phương tiện (hình ảnh, tài liệu PDF) như một máy chủ Web chuẩn. WCF WebMessageFormat
của ResponseFormat
chỉ hỗ trợ JSON hoặc XML. Làm cách nào để xác định phương thức trong giao diện để trả về một tệp?
Cái gì như:
[OperationContract]
[WebInvoke(Method="GET",
ResponseFormat = ?????
BodyStyle = WebMessageBodyStyle.Bare,
UriTemplate = "multimedia/{id}")]
???? GetMultimedia(string id);
Vì vậy mà: wget http://example.com/multimedia/10
trả về tài liệu PDF với id 10
hãy xem xét điều này: http://stackoverflow.com/questions/2992095/attaching-files-to-wcf-rest-service-responses – pdiddy
Cảm ơn bạn đã giải quyết vấn đề và chứa một số thông tin bổ sung thú vị. – Pierre