2

type のプロパティがほとんどないクラス(CustomClassなど)がありますIEnumerable<Enum>

のオブジェクトをCustomClassWCF経由で渡し、Result型 (異なる型) のオブジェクトを返します。

CustomClassすべてが完了し、応答をクライアントに送り返そうとしている後に WCF でパラメータをチェックすると、パラメータはその値を持ちますが、応答がクライアントに到達するまでに、その List プロパティのすべての内容をクリアするCustomClassオブジェクトです。CustomClass

私はただ知りたいのですが、なぜですか?

Customクラスの構造は

 public class QuerySearchCriteria 
 {       
    [DataMember]
    public string DScope { get; set; }

    [DataMember]
    public IEnumerable<SOURCE> Sources { get; set; }

    [DataMember]
    public IEnumerable<ETYPE> ETypes { get; set; }

    [DataMember]
    public IEnumerable<Score> Score{ get; set; }       
}

すべてうまくいきますが、Scoreプロパティ内のアイテムは削除されます。

4

1 に答える 1

0

提供された情報に基づいて推測するだけですがScore、シリアライズ可能なクラスですか? WCF では、Enum 型クラスを で手動でマークしSerializable ない限りDataContract、列挙はマークされているため、自動的に含まれます。その場合、Enum の各メンバーを としてマークする必要がありますEnumMember。This SO question and answerには、それがどのように機能するかについての良い説明があります。

私が間違っていると推測した場合:) WCFトレースを有効にし、サービスによって作成されているソープを投稿して、何が起こっているかについての詳細を取得する必要があります。また、Scoreクラスのソースを投稿すると役に立ちます。

于 2013-01-08T13:31:39.070 に答える