Podstawowe informacje dotyczące transakcji
Transakcje wiążą ze sobą wiele zadań. Załóżmy na przykład, że aplikacja wykonuje dwa zadania. Najpierw tworzy nową tabelę w bazie danych. Następnie wywołuje obiekt specjalne do zbierania, formatowania i wstawianie danych w nowej tabeli. Te dwa zadania są powiązane i wzajemnie nawet wtedy, w taki sposób, że ma zostać Unikaj tworzenia nowej tabeli, o ile nie można wypełniać danych. Wykonywanie zadania, zarówno w zakresie pojedynczą transakcję wymusza połączenie między nimi. Jeśli drugie zadanie nie powiedzie się, pierwsze zadanie jest przywrócenie punkt przed utworzeniem nowej tabeli.
Aby zapewnić zachowanie przewidywalne, wszystkie transakcje musi mieć podstawowe właściwości ACID (częściowych, spójne, izolowane i trwałe). Te właściwości wymuszać stosowanie rolę transakcji krytycznym wykonywanie oferty. Aby uzyskać więcej informacji na temat ACID, zobacz Właściwości ACID. Podsumowanie kwas gwarantuje zadania powodzenie lub niepowodzenie jako jednostki związane z zestawu. W transakcji albo przetwarzania terminologii transakcji zatwierdza lub przerywa. Można zatwierdzić transakcji wszyscy uczestnicy należy zagwarantować, wszelkie zmiany w danych będą trwałe. Zmiany muszą zostać zachowane niezależnie awarie systemu lub inne nieprzewidziane zdarzenia. Jeśli pojedynczego uczestnika nie powiedzie się gwarancji, cała transakcja nie powiedzie się. Wszystkie zmiany danych w zakresie transakcji zostaną przywrócone do określonego punktu zestawu.
Transakcja może zostać ograniczona do zasobu pojedynczej danych, takich jak kolejki bazy danych lub wiadomość. W tym scenariuszu transakcji lokalnej jest zarządzany przez Menedżera transakcji udostępnione przez System.Transactions , który generuje wydajność. Kontrolowane przez zasób danych, transakcje te są wydajne i łatwy w zarządzaniu.
Transakcje mogą również obejmować wiele zasobów danych. Transakcje rozproszone zapewnić możliwość zawierać kilka różnych operacji występujących na różnych systemów w jednym przebiegu lub niepowodzenie akcji. W tym scenariuszu transakcji są koordynowany przez transakcję Koordynator MSDTC (Microsoft Distributed), który znajduje się w każdym systemie.
Podczas tworzenia aplikacji transakcyjnej przy użyciu klas dostarczonych przez System.Transactionsprogram nie musisz martwić się o rodzaj potrzebnych transakcji lub zaangażowany menedżer transakcji. System.Transactions Infrastruktury automatycznie zarządza to dla Ciebie.
Podczas tworzenia transakcji można określić poziom izolacji, który ma zastosowanie do transakcji. Poziom izolacji zdefiniowany przez wyliczenie IsolationLevel określa, jaki poziom dostępu do innych transakcji będzie musiał mieć dane, których dotyczy transakcja.
Transakcje można tworzyć przy użyciu ADO.NET, System.EnterpriseServiceslub transakcyjnego modelu programowania dostarczonego System.Transactions przez przestrzeń nazw. W temacie Features Provided by System.Transactions omówiono funkcje, których można użyć do pisania aplikacji transakcyjnej System.Transactions przy użyciu przestrzeni nazw.