WCF和二进制数据

时间:2012-10-18 19:41:03

标签: wcf

我需要传输一些二进制数据,特别是图像文件,作为我的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; }
}

1 个答案:

答案 0 :(得分:4)

在大多数情况下,

byte[]是最佳选择。除非你有非常大的二进制数据(这似乎不是你的情况,因为你在谈论缩略图图像),所以你应该使用它,因为它在所有序列化器中都受支持。 / p>

如果你在谈论非常大的二进制数据(你想要流式传输对象,而不是将其序列化到缓冲区然后传输它),那么它就不那么简单了。没有直接支持流内部数据合同,但您可以使用一些内容,我在http://blogs.msdn.com/b/carlosfigueira/archive/2011/03/25/wcf-streaming-inside-data-contracts.aspx的帖子中指出。