【问题标题】:Exposing method in datacontract class in wcf [duplicate]在 wcf 中的 datacontract 类中公开方法 [重复]
【发布时间】:2012-10-05 07:07:24
【问题描述】:

可能重复:
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”方法?

【问题讨论】:

    标签: c# wcf datacontract


    【解决方案1】:

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

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

    Can a WCF data contract contain a WCF operation contract inside it? Why?

    【讨论】:

      【解决方案2】:

      正如人们在Adding methods to DataContract objects for WCF中所说的那样

      装饰为 DataContract 类的 DTO 是真实对象。它们可以包含方法,但由于数据协定描述了所传递的数据,因此这些方法不是序列化过程的一部分。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-02-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多