Udostępnij za pośrednictwem


System.Transactions Przestrzeń nazw

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.