2

我们的系统使用基于实体框架的数据层。最近几个月,我们一直在使用 EF 生成的实体进行数据传输、业务逻辑和 UI。

由于我们的应用程序变得越来越大,我们决定创建一个单独的业务层,并使用 CSLA.NET 框架来帮助我们做到这一点。随着系统负载的增加,这应该有助于我们“扩展”。

我们正在编写新的 BL,我一直在比较应用程序模块在迁移它们以使用新的 BL 之前和之后的性能。我注意到性能降低了近 50 倍!这不是 50%,而是慢了 50 倍。

我知道引入 BL 会因为额外的层等而增加一些延迟,但我没想到延迟会这么大。

这是正常的吗?是否有任何标准可以在可接受的引入延迟(由于添加的层)和“我们失去的比我们所能获得的更多”之间划清界限

谢谢。

4

1 回答 1

3

我不认为事情会那么慢,但根据经验......我的团队在过去一年开始使用 CSLA (v4),我们使用的首批应用之一在加载更大的数据列表时变得非常慢。列表的存储过程在一秒钟内返回,但业务对象 Data Portal 方法需要 10 多秒才能返回。在我们的特定情况下,问题最终是我们正在实例化一个 WCF 事件提供程序类,因为每个记录都被加载到一个列表对象中。一旦我们意识到并解决了这个问题,性能就会非常出色。

所以 - 我不希望使用 CSLA 成为你提到的滞后的原因,但是以错误的方式使用它(就像我正在做的那样)很容易导致问题。

于 2012-06-26T17:11:08.183 回答