我有一个Web服务,它将返回System.Drawing.Image对象的集合。我的问题是,我可以直接从Web服务发回一个System.Drawing.Image实例(假设这个类实现了ISerializable接口),还是我必须对它应用某种类型的编码?
答案 0 :(得分:2)
您必须对其进行编码。 Web服务的响应类型可以是非文本的,但通常由带有文本有效负载的XML或JSON组成。
您可以将图像编码为Base64,这可以将任何二进制文件转换为文本。另请参阅http://www.dailycoding.com/Posts/convert_image_to_base64_string_and_base64_string_to_image.aspx。
答案 1 :(得分:1)
我已经使用System.Data.Linq.Binary类在WCF服务上来回发送数据。我使用它是因为在将它存储在SQL Server数据库中时,它不需要在服务器端进行任何额外的工作。尽管Silverlight方面还有一些额外的工作要将它转换回可用的格式。 (只需几行代码。)
答案 2 :(得分:0)
如果您使用的是WCF,也可以将其作为流发送。