WCF - MessageBodyMember - Stream - "值不能为空"

mer*_*adk 6 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; }
}
Run Code Online (Sandbox Code Playgroud)

car*_*ira 11

流是一种特殊情况,意味着"消息体中的一切".如果你真的想发送null(或Nothing),请考虑通过Stream.Null.

  • 谢谢,这有帮助. (2认同)