代码之家  ›  专栏  ›  技术社区  ›  stack72

WCF数据契约与枚举共享

  •  9
  • stack72  · 技术社区  · 14 年前

    我们目前有一个WCF服务,它已经为枚举设置了自己的datacontract。然后在DataContract枚举和业务层中可用的公共枚举之间有一个映射层。同样的事情也发生在客户端上—客户端枚举和数据协定枚举之间的映射层

    我们今天上午谈到了通过WCF服务公开我们的公共枚举,然后将其公开到客户端,我们不知道这是否是一种最佳实践。因此,这个问题可以归结为允许交叉关注源于后端、通过服务并进入客户机系统的枚举是一件好事,还是应该继续将数据契约与基本代码库分开。我们正在努力为我们的服务实现一个最佳实践SOA。

    人们对此有何看法?

    3 回复  |  直到 14 年前
        1
  •  5
  •   Marc Gravell    14 年前

    如果您想获得最佳实践,那么当前的设置听起来非常合理—您可以使用单独的DTO层轻松地在边界管理版本控制和其他验证/映射。

    如果您在边界上有一个完整的DTO层(而不是在边界上公开您的常规/事务性域实体),那么这将双重适用,听起来您可能会这样做。

    缺点是增加了维护,但这使它们非常灵活,并避免了任何意外问题。例如,它通常不适用于WCF,但它是一个典型的错误 有规律的

        2
  •  1
  •   VinayC    14 年前

        3
  •  0
  •   Ross Brigoli    14 年前

    但我已经决定,我的解决方案是删除数据协定枚举,只使用字符串常量。