System.Transactions Przestrzeń nazw
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zawiera klasy, które umożliwiają pisanie własnej transakcyjnej aplikacji i menedżera zasobów. W szczególności możesz utworzyć transakcję (lokalną lub rozproszoną) i uczestniczyć w niej z jednym lub wieloma uczestnikami.
Klasy
CommittableTransaction |
Opisuje zatwierdzaną transakcję. |
DependentTransaction |
Opisuje klon transakcji zapewniającej gwarancję, że transakcja nie może zostać zatwierdzona, dopóki aplikacja nie zostanie przywrócona w odniesieniu do pracy nad transakcją. Klasa ta nie może być dziedziczona. |
DistributedTransactionPermission |
Uprawnienia wymagane przez System.Transactions zarządzanie transakcją są eskalowane do witryny MSDTC. Klasa ta nie może być dziedziczona. |
DistributedTransactionPermissionAttribute |
Umożliwia stosowanie akcji DistributedTransactionPermission zabezpieczeń do kodu przy użyciu zabezpieczeń deklaratywnych. Klasa ta nie może być dziedziczona. |
Enlistment |
Ułatwia komunikację między uczestnikiem transakcji na liście a menedżerem transakcji w ostatniej fazie transakcji. |
PreparingEnlistment |
Ułatwia komunikację między uczestnikiem transakcji na liście a menedżerem transakcji w fazie przygotowywania transakcji. |
SinglePhaseEnlistment |
Udostępnia zestaw wywołań zwrotnych, które ułatwiają komunikację między uczestnikiem wymienionym na potrzeby zatwierdzania jednofazowego i menedżera transakcji po odebraniu SinglePhaseCommit(SinglePhaseEnlistment) powiadomienia. |
SubordinateTransaction |
Reprezentuje nieuleganą transakcję, którą można delegować. Klasa ta nie może być dziedziczona. |
Transaction |
Reprezentuje transakcję. |
TransactionAbortedException |
Wyjątek zgłaszany podczas próby wykonania operacji na transakcji, która została już wycofana, lub podjęto próbę zatwierdzenia transakcji i przerwania transakcji. |
TransactionEventArgs |
Udostępnia dane dla następujących zdarzeń transakcji: DistributedTransactionStarted, TransactionCompleted. |
TransactionException |
Wyjątek zgłaszany podczas próby wykonania pracy nad transakcją, która nie może zaakceptować nowej pracy. |
TransactionInDoubtException |
Wyjątek zgłaszany podczas próby wykonania operacji na transakcji, która jest wątpliwa lub podjęto próbę zatwierdzenia transakcji, a transakcja staje się InDoubt. |
TransactionInformation |
Zawiera dodatkowe informacje dotyczące transakcji. |
TransactionInterop |
Ułatwia interakcję między składnikami System.Transactions i, które zostały wcześniej napisane w celu interakcji z msdTC, COM+lub System.EnterpriseServices. Klasa ta nie może być dziedziczona. |
TransactionManager |
Zawiera metody używane do zarządzania transakcjami. Klasa ta nie może być dziedziczona. |
TransactionManagerCommunicationException |
Wyjątek zgłaszany, gdy menedżer zasobów nie może komunikować się z menedżerem transakcji. |
TransactionPromotionException |
Wyjątek zgłaszany w przypadku niepowodzenia podwyższania poziomu. |
TransactionScope |
Tworzy blok kodu transakcyjny. Klasa ta nie może być dziedziczona. |
Struktury
TransactionOptions |
Zawiera dodatkowe informacje określające zachowania transakcji. |
Interfejsy
IDtcTransaction |
Opisuje transakcję DTC. |
IEnlistmentNotification |
W tym artykule opisano interfejs, który menedżer zasobów powinien zaimplementować w celu zapewnienia wywołania zwrotnego powiadomień o zatwierdzeniu dwufazowym dla menedżera transakcji podczas rejestracji w celu uczestnictwa. |
IPromotableSinglePhaseNotification |
Opisuje obiekt, który działa jako delegat zatwierdzenia dla transakcji nieprostrybucyjnej wewnętrznej dla menedżera zasobów. |
ISimpleTransactionSuperior |
Reprezentuje transakcję, która nie jest transakcją główną, ale może być eskalowana do zarządzania przez MSDTC. |
ISinglePhaseNotification |
Opisuje obiekt zasobu, który obsługuje optymalizację zatwierdzania pojedynczej fazy, aby uczestniczyć w transakcji. |
ITransactionPromoter |
Opisuje transakcję delegowana dla istniejącej transakcji, którą można eskalować do zarządzania przez MSDTC w razie potrzeby. |
Wyliczenia
DependentCloneOption |
Określa rodzaj transakcji zależnej do utworzenia. |
EnlistmentOptions |
Określa, czy obiekt powinien być wymieniony w fazie przygotowywania. |
EnterpriseServicesInteropOption |
Określa sposób interakcji transakcji rozproszonych z transakcjami COM+. |
IsolationLevel |
Określa poziom izolacji transakcji. |
TransactionScopeAsyncFlowOption |
Określa, czy przepływ transakcji między kontynuacjami wątków jest włączony dla TransactionScopeelementu . |
TransactionScopeOption |
Udostępnia dodatkowe opcje tworzenia zakresu transakcji. |
TransactionStatus |
Opisuje bieżący stan transakcji rozproszonej. |
Delegaci
HostCurrentTransactionCallback |
Udostępnia mechanizm dla środowiska hostingu w celu dostarczenia własnego domyślnego Currentpojęcia . |
TransactionCompletedEventHandler |
Reprezentuje metodęTransaction, która obsługuje TransactionCompleted zdarzenie klasy. |
TransactionStartedEventHandler |
Reprezentuje metodę, która obsłuży DistributedTransactionStarted zdarzenie TransactionManager klasy. |
Uwagi
Infrastruktura System.Transactions
sprawia, że programowanie transakcyjne jest proste i wydajne na całej platformie, obsługując transakcje inicjowane w programie SQL Server, ADO.NET, MSMQ i koordynator transakcji rozproszonych firmy Microsoft (MSDTC). 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ę. Zdecydowanie zaleca się użycie łatwiejszego niejawnego modelu do programowania. Aby rozpocząć pracę, zobacz temat Implementowanie niejawnej transakcji przy użyciu zakresu transakcji . Aby uzyskać więcej informacji na temat pisania aplikacji transakcyjnej, zobacz Pisanie aplikacji transakcyjnej.
System.Transactions
Udostępnia również typy do zaimplementowania menedżera zasobów. Menedżer transakcji natywny dla System.Transactions
infrastruktury pozwala na wydajne zatwierdzanie lub wycofywanie pojedynczych trwałych zasobów. 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 niewidoczny eskaluje transakcje lokalne do transakcji rozproszonych, koordynując za pośrednictwem menedżera transakcji opartego na dysku, takiego jak DTC, gdy dodatkowy trwały menedżer zasobów zarejestrował się w transakcji. Istnieją dwie metody klucza który System.Transactions
infrastruktury zapewnia lepszą wydajność.
Dynamiczna eskalacja, co oznacza, że
System.Transactions
infrastruktura angażuje się tylko w MSDTC, gdy jest ona rzeczywiście wymagana dla transakcji. Ten obszar został szczegółowo omówiony w temacie 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, w razie potrzeby,
System.Transactions
infrastruktura może nadal eskalować zarządzanie transakcją do MSDTC. Dodatkowo zmniejsza to ryzyko przy użyciu MSDTC. Ten obszar został szczegółowo omówiony w temacie Optymalizacja przy użyciu zatwierdzania jednofazowego i powiadomienia z pojedynczą fazą .
Aby uzyskać więcej informacji na temat korzystania z System.Transactions
przestrzeni nazw, zobacz Przetwarzanie transakcji.