WCF - MessageBodyMember - Stream - “Value cannot b

2019-04-07 21:24发布

问题:

I have a MessageContract containing one BodyMember. When I try to send that message contract without initializing that BodyMember I get following excepton:

System.ArgumentNullException occurred Message=Value cannot be null. Parameter name: FileStream

If I change it to MessageHeader it will work (but I need it to stay BodyMember). Is it possible that MessageBodyMember can't null or that Stream can't be null?

This is 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:

Stream is a special case which means "everything in the message body". If you really want to send null (or Nothing), consider passing Stream.Null.



标签: wcf stream