2011-09-12 70 views
1

我們正在研究在ASP.NET Web應用程序中實現事務。它是一個三層架構。 我們從業務層調用Web服務,並計劃通過設置TransactionOPtion屬性來實現Web服務中的事務。在業務層中實現事務處理是一種好的做法

來到數據層,是在數據層中實現事務還是應該從業務層調用它是一個很好的選擇。 如果我從業務層開始事務,我相信我們需要將事務上下文傳遞給Datalayer,根據我的說法,這並不合理,因爲我可以在Datalyer本身中啓動事務。我沒有與不同的數據庫交談,也沒有來自BusinessLayer的多個方法調用。所以我不認爲在這種情況下我們需要在業務層中進行事務處理。 你能否驗證/糾正我的理解?

感謝

瑞裏

回答

2

如果你從一個調用業務層數據層多次調用,我不相信你能避免提升交易範圍,業務層。

如果您將自己限制爲每個業務層調用的一個數據層調用,那麼當然,您不需要業務層級事務,並且只能將它們保留在數據層上。

+0

這是每個業務呼叫的一個數據層呼叫。我將繼續保持數據層中的事務。謝謝 – hangar18

0

它不會輕易跟蹤交易。
開啓和關閉交易的責任將轉移到業務層。
- >圖層之間的耦合將遠遠超出您在調用web服務時所期望的。

相關問題