0

シリアル化複合クラス (WCF サービスを使用) に問題があります。

ここで、namespace1 の私のクラス (サービス名前空間にはありません):

 [DataContract]
    public class UpData
    {
        [DataMember]
        public double Version ;

        public UpData()
        {
            this.Version = -1;    
        }
    }

Service 名前空間 (インターフェイス内) で、次の手順を宣言します。

ArrayList GetDownloadPath(Dictionary<string,string> lib1, Dictionary<string,string> lib2);

ArrayList には UpData オブジェクトが含まれます。

エラーがあります(

UpData オブジェクトの ArrayList を送信するにはどうすればよいでしょうか? (特定の DataContract である可能性がありますか?)

どうもありがとう!

4

1 に答える 1

0

ArrayListデフォルトでシリアライズ可能かどうかはわかりません。一般的なリストを使用すると、問題を解決できます。

[OperationContract]
List<UpData> GetDownloadPath(Dictionary<string,string> lib1, Dictionary<string,string> lib2);

編集:Versionプロパティのゲッターとセッターも指定する必要があると思います。

[DataContract]
public class UpData
{
    [DataMember]
    public double Version { get; set; }

    public UpData()
    {
        this.Version = -1;    
    }
}

詳細はこちら

于 2011-12-13T08:20:38.403 に答える