2008-08-30 71 views
6

我正在寻求推动我的域模型到一个WCF服务API,并希望得到一些关于这种安装类型的延迟加载技术的想法。使用WCF服务域模型进行延迟加载?

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


,当我实现了这个技术,踏进我的应用程序,就在服务器返回我的名单在击中应该是延迟加载......因此预先加载每个属性的get。你能解释这个问题还是提出解决方案?

编辑:appears可以使用XMLIgnore属性,以便它不会序列化过程中看着..仍然对这个阅读起来,虽然

回答

3

对于任何远程化体系结构,你要避免加载以不受控制的方式“完成对象图”(除非有少量的对象)。

Wikipedia article拥有非常多的标准技术(在C#中也是如此!)。我用过鬼和价值持有者,他们工作得很好。

要实施这种技术,请确保严格区分顾虑。在服务器上,您的服务契约实现类应该是使用数据契约的代码中唯一的位。在客户端上,服务访问层应该是与代理一起工作的唯一代码。

这样的分层让您可以调整服务相对独立于调用服务和被调用的业务层的UI层的实现方式。它也给你半个单元测试的机会!

4

不要通过服务接口进行延迟加载。定义明确的DTO并将它们用作WCF中的数据协定。

您可以使用NHibernate(或其他ORM)正确获取构建DTO所需的对象。

+0

我被困在ado.net的世界里......任何你可以提供你提到的这种方法的样本的机会? – 2008-12-05 15:01:56