2012-05-22 39 views
1

我們的系統使用基於實體框架的數據層。近幾個月來,我們一直在使用由EF生成的實體進行數據傳輸,業務邏輯和用戶界面。CSLA.NET框架的性能

由於我們的應用程序越來越大,我們決定創建一個單獨的業務層,我們使用CSLA.NET框架來幫助我們做到這一點。當我們系統的負載增加時,這應該會幫助我們「縮放」。

我們正在編寫新的BL,並且一直在比較應用程序模塊在遷移到使用新BL之前和之後的性能。 我注意到性能差了50倍!這不是50%,它慢了50倍。

我知道引入一個BL會增加一些延遲,因爲額外的層,所以,但我沒有想到延遲是如此巨大。

這是正常的嗎?是否有任何標準可以在可接受的引入延遲(由於添加圖層)和「我們損失超過我們所能獲得的收益」之間畫出一條線。

謝謝。

回答

2

我不希望事情會變得緩慢,但從經驗來看......我的團隊在過去的一年中開始使用CSLA(第4版),而且我們所做的第一批應用之一在加載更大的列表時變得非常緩慢數據。列表的存儲過程在一秒之內返回,但業務對象Data Portal方法需要10多秒才能返回。在我們的特殊情況下,問題最終成爲我們實例化一個WCF事件提供程序類爲,每個記錄被加載到列表對象中。一旦我們意識到並解決了這個問題,表現就非常活躍。

所以 - 我不希望使用CSLA作爲你提到的滯後原因,但是以錯誤的方式使用它(就像我在做什麼)很容易引起問題。

+0

我們最終沒有使用CSLA框架,但問題可能在於我們使用它的方式,而不是在框架本身。 – wassim