我希望将我的域模型推送到WCF服务API,并希望通过这种类型的设置获得有关延迟加载技术的一些想法.
采取这种方法时有什么建议吗?
当我实现这个技术并进入我的应用程序时,就在服务器返回我的列表之前,它命中了每个应该延迟加载的属性的get …因此急切加载.你能解释一下这个问题或提出解决方案吗?
解决方法
对于任何远程处理架构,您都希望避免以不受控制的方式“在线下”加载完整的对象图(除非您有一些非常少量的对象).
Wikipedia article具有相当概括的标准技术(在C#中也是如此!).我使用了鬼魂和价值持有者,他们的工作非常好.
要实现这种技术,请确保严格区分问题.在服务器上,您的服务合同实现类应该是使用数据协定的代码的唯一位.在客户端上,服务访问层应该是与代理一起使用的唯一代码.
通过这样的分层,您可以相对独立于调用服务的UI层和正在调用的业务层来调整服务的实现方式.它还为您提供了一半的单元测试机会!