3

可能重复:
为 WCF 向 DataContract 对象添加方法

可以在数据合同类中公开方法吗?

前任:

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

    Public void AddSession(string key, int len)
    {

    }

}

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

4

2 回答 2

5

在 a 中公开方法是Datacontracts没有意义的。DataContracts 只能应用于对象的状态,或者换句话说,类的成员字段。方法不是状态,而是状态变化的代理。

而且你不应该在 DataContract 里面有 OperationContract 这就是为什么

WCF 数据契约中是否可以包含 WCF 操作契约?为什么?

于 2012-10-05T07:10:52.930 回答
5

正如人们在为 WCF 向 DataContract 对象添加方法中所说的那样

DTOs that are decorated as DataContract classes are real objects. They can have methods in them, but since a data contract describes the data which is communicated the methods are not part of the serialization process.

于 2012-10-05T07:22:04.770 回答