2011-09-06 12 views
5

BodyMemberを1つ含むMessageContractがあります。 BodyMemberを初期化せずにそのメッセージ契約を送信しようとすると、次の例外が発生します。WCF - MessageBodyMember - Stream - "値はnullにできません"

System.ArgumentNullExceptionが発生しました。 メッセージ=値はnullにできません。 パラメータ名:FileStream

私がMessageHeaderに変更した場合、動作しますが、BodyMemberのままにする必要があります。 MessageBodyMemberがnullにできないか、またはStreamが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; } 
} 

答えて

11

ストリームは、「メッセージ本文のすべて」を意味特殊なケースです。 null(またはNothing)を実際に送信する場合は、Stream.Nullを渡すことを検討してください。

+2

ありがとうございました。これが助けになりました。 – mersadk

関連する問題