可以在数据协定类中公开方法吗?
例如:
[Datacontract]
Public Class Customer
{
[Datamember]
Public string ID
{
get;set;
}
Public void AddSession(string key, int len)
{
}
}
当客户端使用此服务时,如何在客户端公开“AddSession”方法?
答案 0 :(得分:5)
在Datacontracts
中公开方法是没有意义的.DataContracts只能应用于对象的状态或类的其他成员字段。方法不是状态,而是状态变化的代理。
你不应该在DataContract里面有一个OperationContract,这就是为什么
Can a WCF data contract contain a WCF operation contract inside it? Why?
答案 1 :(得分:5)
正如人们在Adding methods to DataContract objects for WCF中所说的
作为DataContract类修饰的DTO是真实对象。它们可以包含方法,但由于数据协定描述了传递的数据,因此方法不是序列化过程的一部分。