Udostępnij za pośrednictwem


Funkcje oferowane przez bibliotekę System.Transactions

W tej sekcji opisano sposób używania funkcji udostępnianych przez System.Transactions przestrzeń nazw do pisania własnej aplikacji transakcyjnej i menedżera zasobów. W szczególności w tej sekcji opisano sposób tworzenia i uczestnictwa w transakcji (lokalnej lub rozproszonej) z jednym lub wieloma uczestnikami.

Omówienie System.Transactions

Infrastruktura dostarczana przez klasy w System.Transactions przestrzeni nazw sprawia, że programowanie transakcyjne jest proste i wydajne przez obsługę transakcji inicjowanych w programie SQL Server, ADO.NET, kolejkowania komunikatów (MSMQ) i koordynatora transakcji rozproszonych firmy Microsoft (MSDTC). System.Transactions Przestrzeń nazw zapewnia zarówno jawny model programowania oparty na Transaction klasie, jak i niejawny model programowania przy użyciu TransactionScope klasy, w której transakcje są automatycznie zarządzane przez infrastrukturę. Aby uzyskać więcej informacji na temat tworzenia aplikacji transakcyjnej przy użyciu tych dwóch modeli, zobacz Pisanie aplikacji transakcyjnej.

System.Transactions Przestrzeń nazw udostępnia również typy do zaimplementowania menedżera zasobów. Menedżer zasobów zarządza trwałymi lub niestabilnymi danymi używanymi w transakcji i współpracuje z menedżerem transakcji, aby zapewnić aplikacji gwarancję niepodzielności i izolacji. Menedżer transakcji udostępniany przez System.Transactions infrastrukturę obsługuje transakcje obejmujące wiele nietrwałych zasobów lub jeden trwały zasób. Aby uzyskać więcej informacji na temat implementowania menedżera zasobów, zobacz Implementowanie usługi Resource Manager.

Menedżer transakcji również przezroczysty Eskalowanie transakcji lokalnych transakcje rozproszone przez koordynowanie z menedżerem transakcji na dysku, takich jak usługi, gdy Menedżer dodatkowych zasobów trwałe współdziała z transakcją. Istnieją dwie metody klucza który System.Transactions infrastruktury zapewnia lepszą wydajność.

  • Dynamiczna eskalacja, która gwarantuje, że System.Transactions infrastruktura angażuje się tylko w MSDTC, gdy transakcja obejmuje wiele rozproszonych zasobów. Aby uzyskać więcej informacji o eskalacji dynamicznych. Zobacz Temat Eskalacja zarządzania transakcjami.

  • Awansowanie rejestracji, co umożliwia zasobu, takie jak bazy danych, przejęcie na własność transakcji, jeśli jest tylko typy jednostek uczestnictwa w transakcji. Później, jeśli to konieczne, System.Transactions infrastruktury nadal może eskalować zarządzania transakcji MSDTC. Dodatkowo zmniejsza to ryzyko przy użyciu MSDTC. Listy promotable zostały szczegółowo omówione w temacieOptymalizacja przy użyciu zatwierdzania jednofazowego i jednofazowego powiadomienia o pojedynczej fazie.

System.Transactions Nazw definiuje trzy poziomy zaufania - AllowPartiallyTrustedCallers (APTCA), DistributedTransactionPermission(DTP) i pełną zaufania - ograniczenia dla typów zasobów do niego dostęp ujawnia. Aby uzyskać więcej informacji na temat różnych poziomów zaufania, zobacz Poziomy zaufania zabezpieczeń w temacie Uzyskiwanie dostępu do zasobów.

W tym obszarze

Pisanie aplikacji transakcyjnej

System.Transactions Przestrzeń nazw udostępnia dwa modele tworzenia aplikacji transakcyjnych. Implementowanie transakcji niejawnej przy użyciu zakresu transakcji opisuje sposób, w jaki System.Transactions przestrzeń nazw obsługuje tworzenie niejawnych transakcji przy użyciu TransactionScope klasy .

Implementowanie transakcji jawnej przy użyciu funkcji CommittableTransaction opisuje sposób, w jaki System.Transactions przestrzeń nazw obsługuje tworzenie jawnych transakcji przy użyciu CommittableTransaction klasy .

Aby uzyskać dodatkowe tematy dotyczące pisania aplikacji transakcyjnej, zobacz Pisanie aplikacji transakcyjnej.

Implementowanie usługi Resource Manager

Aby zaimplementować menedżera zasobów, który może uczestniczyć w transakcji, zobacz Implementowanie usługi Resource Manager. W tej sekcji opisano rejestracja zasobu, zatwierdzanie transakcji, odzyskiwania po awarii i optymalizacji najlepszych rozwiązań.