Tengo un proyecto de servicio de reposo WCF configurado que sirve a las estructuras de datos JSON. He definido un contrato en un archivo de interfaz como:Devolver datos no JSON, no XML en el servicio WCF REST
[OperationContract]
[WebInvoke(Method = "GET",
ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Bare,
UriTemplate = "location/{id}")]
Location GetLocation(string id);
Ahora el servicio Web tiene que volver multimedia (imágenes, documentos PDF) documentos como lo hace un servidor Web estándar. El WCF WebMessageFormat
del ResponseFormat
solo es compatible con JSON o XML. ¿Cómo defino el método en la interfaz para devolver un archivo?
Algo así como:
[OperationContract]
[WebInvoke(Method="GET",
ResponseFormat = ?????
BodyStyle = WebMessageBodyStyle.Bare,
UriTemplate = "multimedia/{id}")]
???? GetMultimedia(string id);
Así que: wget http://example.com/multimedia/10
devuelve el documento PDF con id 10.
eche un vistazo a esto: http://stackoverflow.com/questions/2992095/attaching-files-to-wcf-rest-service-responses – pdiddy
Gracias pdiddy, resolvió el problema y contiene información adicional interesante. – Pierre