2011-09-06 19 views
5

Tôi có MessageContract chứa một BodyMember. Khi tôi cố gắng gửi hợp đồng tin nhắn đó mà không khởi tạo rằng BodyMember tôi nhận được sau excepton:WCF - MessageBodyMember - Stream - "Giá trị không thể rỗng"

System.ArgumentNullException xảy ra Thông báo = Giá trị không thể rỗng. Tên thông số: FileStream

Nếu tôi thay đổi nó thành MessageHeader nó sẽ hoạt động (nhưng tôi cần nó để ở lại BodyMember). Có thể MessageBodyMember không thể rỗng hoặc luồng đó không thể rỗng không?

Đây là MessageContract:

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

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

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

Trả lời

11

Stream là một trường hợp đặc biệt có nghĩa là "tất cả mọi thứ trong nội dung thư". Nếu bạn thực sự muốn gửi null (hoặc Nothing), hãy xem xét chuyển số Stream.Null.

+2

Cảm ơn, điều này đã giúp ích. – mersadk

Các vấn đề liên quan