2013-03-11 57 views
1

我目前正在使用面向UI的MVC4的N层应用程序,该应用程序然后与WCF服务交谈,然后向使用EF从Oracle获取数据的业务层发出呼叫。我可以将我的DTO类暴露给WCF客户端,还是应该使用自动生成的类?

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

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

它是纯粹的开发选择,还是有特定的好处或陷阱或任一方法?

任何帮助将不胜感激。

谢谢,尼克

回答

1

使用原来的合同组件的好处是,当合同的变更,您在客户端组件出现编译错误。如果您使用生成的客户端,那么会编译并在运行时崩溃。特别是对于持续集成,您希望尽早获得错误,编译时间非常长。

根据您生成的客户端实现,它可能已经实现了INotifyPropertyChanged。这可能比您的DTO可以做的更多。 DTO不应该实现这一点。因此,如果您要在客户端重新实现所有的DTO以使用此接口,您可能会认为使用生成的类已经为您提供了这种优势。

所以最后......它纯粹是一个开发选择。

相关问题