Web服务传递的数据类是否属于[Serializable]的属性

时间:2010-07-28 12:13:14

标签: c# web-services serialization soap

我想通过Webservice传输一些数据类:

public class MyClass
{
    public int Int { get; set; }

    public MyClass(int v)
    {
        Int = v;
    }

    private MyClass()
    {

    }
}

public enum MyEnum
{
    One = 7,
    Two = 13,
    Three = 15
}

public class TestDataClass
{
    private int _someInt;

    public List<MyClass> Values { get; set; }

    public int SomeInt
    {
        get
        {
            return _someInt + 10;
        }

        set { _someInt = value; }
    }

    public TestDataClass(int someInt)
    {
        SomeInt = someInt;

        Values = new List<MyClass>();
        for (int i = 0; i < 10; i++)
        {
            Values.Add(new MyClass(i));
        }

    }

    private TestDataClass() {}
}

TestDataClass是传递过的类,应该用serializable归属什么?

谢谢,Alex。

1 个答案:

答案 0 :(得分:0)

如果您想使用(旧的)ASMX样式的网络服务:是。

使用WCF时:否,请改为使用[DataContract]。

在这两种情况下,您都需要主类的属性以及任何尚未可序列化或“已知类型”的嵌入类型。