我目前正在开发一个 N 层应用程序,在 UI 前端使用 MVC4,然后与 WCF 服务通信,然后调用业务层,业务层使用 EF 从 Oracle 获取数据。
我创建了一组从 EF 填充的 DTO 对象,并通过 WCF 服务发送到 UI。我的问题是这样的...
当我在 UI 中添加服务引用时,我在 Reference.cs 中重新创建了部分服务代码的 DTO 类。这样可以吗,还是我应该添加对原始 DTO 类项目的引用?
这纯粹是开发人员的选择,还是有特定的好处或陷阱或任一方法?
任何帮助将不胜感激。
谢谢,尼克
最佳答案
使用原始合约程序集的一个好处是,当合约更改时,您会在客户端程序集中出现编译错误。如果您使用生成的客户端,则会编译然后在运行时崩溃。特别是对于持续集成,您希望尽早发现错误,编译时间非常好。
根据您生成的客户端实现,它可能已经实现了 INotifyPropertyChanged。这可能超出了 DTO 的能力范围。 DTO 不应该实现这一点。因此,如果您打算在客户端再次重新实现所有 DTO 以使用此接口(interface),您可能会认为使用生成的类已经给您带来了这种好处。
所以最终...这纯粹是开发人员的选择。
关于asp.net-mvc - 我可以将我的 DTO 类公开给 WCF 客户端,还是应该使用自动生成的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15338144/