c# - 数据契约WCF放在哪里?可以放入数据层吗?

标签 c# wcf web-services

我看到一些人建议 WCF 服务调用数据层,拥有一个包含返回数据的对象,然后将其放入数据协定中。我的问题是为什么不将数据契约放在数据层本身中而只是返回它们呢?这样做有什么缺点吗?我问的原因是我的数据层只是一个类库,我希望能够从可能不使用 Web 服务的多个平台调用它。我似乎找不到这方面的最佳实践。有什么想法吗?

最佳答案

将契约放入数据层的缺点是您将数据层与服务契约耦合,而实际上它们不需要相互关心。理想情况下,您的数据层应该负责按照其规定执行。您可能正在寻找的是 Data Transfer Objects (DTO)。它们的目的只是将数据传输给您的客户。在您的服务层中,您可以将它们转换回各自的实体,以执行任何需要执行的操作。然而,这确实会产生开销,并且您需要一种来回映射 DTO 和实体的方法,例如使用 AutoMapper

关于c# - 数据契约WCF放在哪里?可以放入数据层吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9038650/

相关文章:

c# - DataGridView 标题单元格背景颜色

c# - 如何使用 C# 读取 WMI 中的 ManagementObject 集合

node.js - NPM-node-soap 支持 WsHttpBinding 吗?

sql-server - 如何从 InTouch Wonderware 或 SQL Server 2014 调用 SOAP Web 服务

web-services - 如何在 swagger-go 中使用 golang echo web 框架?

c# - 如何绕过指定通用参数类型的需要?

c# - 必填字段验证器文本定位

WCF、MSMQ 和 2 个队列上的独立事务

wcf - WCF Duplex 是一个不错的选择吗?

ruby-on-rails - 测试构建在 RESTful Web 服务之上的应用程序