wcf中datacontract类中的公开方法

时间:2012-10-05 07:07:24

标签: c# wcf datacontract

  

可能重复:
  Adding methods to DataContract objects for WCF

可以在数据协定类中公开方法吗?

例如:

[Datacontract]
Public Class Customer
{
    [Datamember]
    Public string ID
    {
        get;set;
    }

    Public void AddSession(string key, int len)
    {

    }

}

当客户端使用此服务时,如何在客户端公开“AddSession”方法?

2 个答案:

答案 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是真实对象。它们可以包含方法,但由于数据协定描述了传递的数据,因此方法不是序列化过程的一部分。