WCF - MessageBodyMember - Stream - «Значение не может быть нулевым» - PullRequest
6 голосов
/ 06 сентября 2011

У меня есть MessageContract, содержащий один BodyMember.Когда я пытаюсь отправить этот контракт сообщения без инициализации BodyMember, я получаю следующее исключение:

Произошло исключение System.ArgumentNullException.Имя параметра: FileStream

Если я изменю его на MessageHeader, он будет работать (но мне нужно, чтобы он оставался BodyMember).Возможно ли, что MessageBodyMember не может иметь значение NULL или что поток не может быть NULL?

Это 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 Ответ

11 голосов
/ 06 сентября 2011

Поток - это особый случай, который означает «все в теле сообщения».Если вы действительно хотите отправить null (или Nothing), рассмотрите возможность передачи Stream.Null.

...