我需要传输一些二进制数据,特别是图像文件,作为我的WCF调用的一部分。我应该为WCF合同使用什么数据类型?
[DataContract]
public class ZombieTypeSUmmary
{
[DataMember]
public string ZombieTypeName { get; set; }
[DataMember]
public int ZombieTypeKey { get; set; }
[DataMember]
public string BriefDescription { get; set; }
[DataMember]
public ??? ThumbnailImage { get; set; }
}
答案 0 :(得分:4)
byte[]
是最佳选择。除非你有非常大的二进制数据(这似乎不是你的情况,因为你在谈论缩略图图像),所以你应该使用它,因为它在所有序列化器中都受支持。 / p>
如果你在谈论非常大的二进制数据(你想要流式传输对象,而不是将其序列化到缓冲区然后传输它),那么它就不那么简单了。没有直接支持流内部数据合同,但您可以使用一些内容,我在http://blogs.msdn.com/b/carlosfigueira/archive/2011/03/25/wcf-streaming-inside-data-contracts.aspx的帖子中指出。