我在周末测试了一些东西,并且我制作了以下自定义对象。
人
int Age;
string HairColor;
为了时间的缘故,我没有在这里显示获取/设置代码,但在课堂上,它存在。该类在Winforms应用程序中运行良好。
现在我要做的是采用完全相同的类(驻留在DLL中)并允许WCF服务将其返回给客户端。
我该怎么做?我可以使用WCF服务引用DLL,还是需要做一些特别的事情?
答案 0 :(得分:1)
如果要序列化该类以使其可用作WCF服务调用中的参数,则必须:
或者如果您需要更多地控制序列化的内容:
[DataContract]
属性(针对类级别)装饰您的类,并使用[DataMember]
装饰您要序列化的每个项目(公共或不公开,属性或字段)属性使用[DataContract] / [DataMember]属性进行显式修饰有一些明显的优点:
当然,没有免费的午餐 - 这意味着您必须去装饰您想要用作WCF方法参数和/或返回类型的所有类。
答案 1 :(得分:0)
为WCF public
[ServiceContract]
类
public Person{
public int Age { get; set; }
public string HairColor { get; set;}
}
然后应该自动序列化。