使用WCF服务域模型进行延迟加载?

Tor*_*ups 6 wcf domain-driven-design web-services

我希望将我的域模型推送到WCF服务API,并希望通过这种类型的设置获得有关延迟加载技术的一些想法.

采取这种方法时有什么建议吗?


当我实现这个技术并进入我的应用程序时,就在服务器返回我的列表之前,它命中了每个应该延迟加载的属性的get ...因此急切加载.你能解释一下这个问题或提出解决方案吗?

编辑:看起来你可以使用XMLIgnore属性,因此在序列化期间不会看到它..仍然在阅读这个虽然

Jer*_*Gee 3

对于任何远程架构,您都希望避免以不受控制的方式“在线”加载完整的对象图(除非您有非常少量的对象)。

维基百科文章对标准技术进行了相当多的总结(并且也是用 C# 编写的!)。我使用过幽灵和价值持有者,它们效果都很好。

要实现这种技术,请确保严格分离关注点。在服务器上,您的服务契约实现类应该是与数据契约一起使用的代码的唯一部分。在客户端上,服务访问层应该是与代理一起使用的唯一代码。

通过这样的分层,您可以相对独立于调用服务的 UI 层和正在调用的业务层来调整服务的实现方式。它还为您提供了一半的单元测试机会!