Udostępnij przez


Funkcje udostępniane przez 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 elementu 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ż w sposób przejrzysty eskaluje transakcje lokalne do transakcji rozproszonych, współpracując z menedżerem transakcji opartym na systemie dyskowym, takim jak DTC, gdy dodatkowy trwały menedżer zasobów rejestruje się do transakcji. Istnieją dwa kluczowe sposoby zapewniania zwiększonej System.Transactions wydajności infrastruktury.

System.Transactions Przestrzeń nazw definiuje trzy poziomy zaufania — AllowPartiallyTrustedCallers (APTCA), DistributedTransactionPermission(DTP) i pełne zaufanie — które ograniczają dostęp do typów udostępnianych zasobów. Aby uzyskać więcej informacji na temat różnych poziomów zaufania, zobacz Poziomy zaufania w zakresie bezpieczeństwa podczas uzyskiwania dostępu do zasobów.

W tym dziale

Pisanie aplikacji transakcyjnej

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

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 Menadżera zasobów

Aby zaimplementować menedżera zasobów, który może uczestniczyć w transakcji, zobacz Implementowanie usługi Resource Manager. W tej sekcji opisano rejestrowanie zasobu, zatwierdzanie transakcji, odzyskiwanie po awarii i najlepsze rozwiązania dotyczące optymalizacji.