0

WCF サービスを作成するために使用しているテスト クラスがあります。クラスは次のようになります。

public class TestObject
{

    public int ObjID { get; set; }


    public string ObjName { get; set; }

    public TestObject(int id, string name) {
        ObjID = id;
        ObjName = name;
    }
}

サービス参照をクライアント アプリにインポートしようとすると、このエラーが発生しますThere was an error downloading [...][DataContract]クラスにとタグを追加すると[DataMember]問題なく動作しますが、DataContract を追加せずに使用したいと考えています。

この問題を解決するためのアイデアはありますか?

4

3 に答える 3

0

[DataContract] と [DataMember] を追加して問題を解決します。WCF では、データ オブジェクトをシリアル化するためにこれらのタグが必要です。それらがないと、オブジェクトまたはフィールドはシリアル化されず、コントラクトに含まれません。

于 2013-11-06T14:03:15.690 に答える
0
[Serializable]

クラスでその属性を試してみてください..最初の試みとして。

見る:

http://msdn.microsoft.com/en-us/library/ms733127.aspx

これが私が探していた記事です(または私が覚えている記事のようなものです)

http://www.biztalkgurus.com/biztalk_server/biztalk_blogs/b/biztalksyn/archive/2008/05/13/datacontracts-without-attributes-poco-support-in-net-3-5-sp1.aspx

Framework 3.5 SP1 で状況が変わりました。

したがって、答えは「はい、できます」..「しかし、それはフレームワークのバージョンに依存します」であり、シリアライズ(DataContractSerializer)に依存します。

于 2013-11-06T14:03:17.397 に答える