1

作为 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; }
}
4

1 回答 1

4

byte[]在大多数情况下是最佳选择。除非您有非常大的二进制数据(这似乎不是您的情况,因为您正在谈论缩略图),否则您应该使用它,因为所有序列化程序都支持它。

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

于 2012-10-18T19:55:36.837 回答