Ist es eine gute Praxis, Transaktionen in der Business-Schicht zu implementieren?
-
29-10-2019 - |
Frage
Wir möchten Transaktionen in unserer ASP.NET-Webanwendung implementieren.Es ist eine dreischichtige Architektur. Wir rufen Webdienste von der Business-Ebene aus auf und planen, Transaktionen im Webdienst durch Festlegen des TransactionOPtion-Attributs zu implementieren.
Wenn Sie zur Datenschicht kommen, ist dies eine gute Option, um Transaktionen in der Datenschicht zu implementieren, oder sollte ich sie von der Geschäftsschicht aus aufrufen. Wenn ich die Transaktion von der Business-Ebene aus starte, müssen wir meines Erachtens den Transaktionskontext an die Datenschicht übergeben, was meiner Meinung nach nicht sinnvoll ist, da ich die Transaktion im Datenanalys selbst starten kann.Ich spreche weder mit verschiedenen Datenbanken noch habe ich mehrere Methodenaufrufe vom BusinessLayer.Daher denke ich nicht, dass wir in diesem Zusammenhang Transaktionen in der Geschäftsschicht benötigen. Könnten Sie bitte mein Verständnis überprüfen / korrigieren?
Danke
Soni
Lösung
Wenn Sie mehrere Aufrufe der Datenschicht von einem Anruf zur Geschäftsschicht haben, können Sie meines Erachtens nicht vermeiden, den Transaktionsbereich auf die Geschäftsschicht zu erhöhen.
Wenn Sie sich auf einen Datenschichtaufruf pro Geschäftsschichtaufruf beschränken, benötigen Sie natürlich keine Transaktionen auf Geschäftsschichtebene und können diese nur auf Ihrer Datenschicht behalten.
Andere Tipps
Es wird nicht einfach sein, Transaktionen zu verfolgen.
Die Verantwortung für das Öffnen und Schließen der Transaktionen wird auf die Geschäftsschicht übertragen.
-> Die Kopplung zwischen den Ebenen ist weitaus größer als erwartet, wenn Sie einen Webservice aufrufen.