mic*_*ael 6 c# performance wcf
我有点问题,我不确定如何解决它.我有我的模型组件,其中包含大约200个不同的业务对象(订单,客户,产品等).
当有人想要获得订单时,我不想返回整个对象图.相反,我想简单地返回对象和延迟加载(甚至异步加载)其他部分.这似乎会导致许多"获取(对象名称)"服务:
我不想创建200种不同的方法,每种方法对应一次Get操作.我意识到我可以做类似的事情GetObject(string type, int id),然后以某种方式使用反射来获得适当的对象,但我认为这更糟糕(可能).
相反,如果我使用T4模板自动完成创建每个不同服务的工作,那会更好......但它仍然让我担心一件事...... 性能.
是否有暴露200多种不同的服务(每个对象一个)?
根据我的经验,WCF + 实体框架 + 延迟加载 + 深层对象图 + 性能要求 = 大的潜在问题。
没有什么神奇的灵丹妙药可以解决所有问题,我最终得出以下结论:
private。不再自动序列化到客户端的对象集合GetXXXX/GetXXXByYYY方法。甚至GetXXXByYYYWithZZZZWithWWWWwhereZZZZ和WWWW是急切加载的属性的名称。是的,可能有很多方法,但只有在应用程序的客户端实际需要时才构建它们,并且您知道自己在做什么。这对于获得良好的表现有很大帮助。暴露 200 多个不同的服务(每个对象一个)是不是很糟糕?
这些是单个服务中200 多个不同的操作(我想)。如果您的客户端实际上需要访问所有服务器端实体,那么是的,200 多个操作就可以了,这里没有什么魔力。
| 归档时间: |
|
| 查看次数: |
323 次 |
| 最近记录: |