繁体   English   中英

我可以将我的DTO类公开给WCF客户端,还是应该使用自动生成的类?

[英]Can I expose my DTO classes to a WCF Client, or should I use the auto generated ones instead?

我目前正在使用在前端使用MVC4的N-Tier应用程序进行UI,然后与WCF服务进行对话,然后调用使用EF从Oracle中获取数据的业务层。

我创建了一组从EF填充的DTO对象,并通过WCF服务发送到UI。 我的问题是...

当我在UI中添加服务引用时,我得到DTO类在Reference.cs中重新创建了服务代码的一部分。 可以吗,还是应该添加对原始DTO类项目的引用?

它纯粹是开发人员的选择,还是有特定的好处或陷阱,或两者皆有?

任何帮助将非常感激。

谢谢,尼克

使用原始合同程序集的一个好处是,当该合同更改时,您的客户程序集中会出现编译错误。 如果使用生成的客户端,则该客户端将编译,然后在运行时崩溃。 特别是对于持续集成,您希望尽早获得错误,编译时间非常长。

根据您生成的客户端实现,它可能已经实现了INotifyPropertyChanged。 这可能是您的DTO所能做的。 DTO不应实现这一点。 因此,如果无论如何都要在客户端再次重新实现所有DTO以使用此接口,则可能会争辩说,使用生成的类已经为您带来了好处。

因此,最终...纯粹是开发人员的选择。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM