WCF - MessageBodyMember - Stream - “值不能为空”

时间:2011-09-06 11:17:53

标签: wcf stream

我有一个包含一个BodyMember的MessageContract。 当我尝试发送该消息合同而没有初始化BodyMember时,我得到以下内容:

发生了System.ArgumentNullException   Message = Value不能为null。 参数名称:FileStream

如果我将其更改为MessageHeader,它将起作用(但我需要它保持BodyMember)。 MessageBodyMember是否可能无法为null或Stream不能为空?

这是MessageContract:

[MessageContract]
public class AdsAdminRequest : ServiceMessageRequest
{
    [MessageHeader]
    public AdsAdminCriteria Criteria { get; set; }

    [MessageHeader]
    public AdDto Ad { get; set; }

    [MessageBodyMember]
    public Stream FileStream { get; set; }
}

1 个答案:

答案 0 :(得分:11)

Stream是一种特殊情况,意味着“邮件正文中的所有内容”。如果您确实要发送null(或Nothing),请考虑传递Stream.Null