gpt4 book ai didi

wcf - 有没有办法在 WCF 服务数据协定中隐藏/展平基本类型?

转载 作者:行者123 更新时间:2023-12-04 06:48:08 24 4
gpt4 key购买 nike

考虑以下简单示例:

[DataContract("{0}Base")]
public class Base<T> where T : Entity<T>
{
// Common methods & properties. No WCF exposed properties
}

[DataContract]
public class Employee : Base<Employee>
{
// WCF exposed properties
}

基类 Base 没有 WCF 服务使用者感兴趣的属性,但 WCF 强制我还使用 [DataContract] 属性注释 Base 类。这实际上在服务客户端上显示为 Employee : EmployeeBaseEmployeeBase是一个没有属性的空类。

我不想暴露 Base<T>以这种方式对服务进行分类,那么我有哪些选择?
  • Employee 类的 DTO - 我不想增加这种复杂性
  • “展平”DataContract 层次结构,以便 Employee 的数据契约不会暴露它继承自 Base<T> .这可能吗?如何?
  • 其他解决方案?

  • 谢谢。

    最佳答案

    层次结构中的每个类都必须是可序列化的/DataContract。如果您不想公开层次结构,您必须使用 DTO,或者您可以尝试为您的 Employee 类实现 IDataContractSuroggate。

    关于wcf - 有没有办法在 WCF 服务数据协定中隐藏/展平基本类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3499788/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com