Aracılığıyla paylaş


System.Transactions Tarafından Sağlanan Özellikler

Bu bölümde, kendi işlem uygulamanızı ve kaynak yöneticinizi System.Transactions yazmak için ad alanı tarafından sağlanan özellikleri nasıl kullanabileceğiniz açıklanmaktadır. Özellikle, bu bölümde bir veya birden çok katılımcıyla bir işlemin (yerel veya dağıtılmış) nasıl oluşturulacağı ve bunlara nasıl katılılacağı ele alınıyor.

System.Transactions'e genel bakış

Ad alanındaki System.Transactions sınıflar tarafından sağlanan altyapı SQL Server, ADO.NET, Message Queuing (MSMQ) ve Microsoft Dağıtılmış İşlem Düzenleyicisi'nde (MSDTC) başlatılan işlemleri destekleyerek işlemsel programlamayı basit ve verimli hale getirir. Ad System.Transactions alanı hem sınıfını temel alan açık bir programlama modeli hem de işlemlerin Transaction altyapı tarafından otomatik olarak yönetildiği sınıfı kullanan TransactionScope örtük bir programlama modeli sağlar. Bu iki modeli kullanarak işlem uygulaması oluşturma hakkında daha fazla bilgi için bkz . İşlem Uygulaması Yazma.

System.Transactions Ad alanı türleri için bir kaynak yöneticisi uygulamak de sağlar. Kaynak yöneticisi, bir işlemde kullanılan dayanıklı veya geçici verileri yönetir ve uygulamaya bölünmezlik ve yalıtım garantisi sağlamak için işlem yöneticisiyle işbirliği içinde çalışır. Altyapı tarafından System.Transactions sağlanan işlem yöneticisi, birden çok geçici kaynak veya tek bir dayanıklı kaynak içeren işlemleri destekler. Kaynak yöneticisi uygulama hakkında daha fazla bilgi için bkz . Resource Manager Uygulama.

İşlem yöneticisi ayrıca, ek dayanıklı bir kaynak yöneticisi kendisini bir işlemle listelediğinde DTC gibi disk tabanlı bir işlem yöneticisiyle birlikte çalışarak yerel işlemleri saydam bir şekilde dağıtılmış işlemlere iletir. Altyapının gelişmiş performans sağlamasının System.Transactions iki temel yolu vardır.

  • Dinamik Yükseltme, altyapının System.Transactions yalnızca bir işlem birden fazla dağıtılmış kaynağa yayıldığında MSDTC ile etkileşim kurmasını sağlar. Dinamik yükseltme hakkında daha fazla bilgi için. İşlem Yönetimi Yükseltme konusuna bakın.

  • Veritabanı gibi bir kaynağın işleme katılan tek varlık olması durumunda işlemin sahipliğini almasını sağlayan Tanıtılabilir Listelemeler. Daha sonra, gerekirse System.Transactions altyapı yine de işlemin yönetimini MSDTC'ye yükseltebilir. Bu, daha fazla MSDTC kullanma olasılığını azaltır. Tanıtılabilir Listeler, Tek Aşamalı İşleme ve Tanıtılabilir Tek Aşamalı Bildirim kullanarak iyileştirme konusundaayrıntılı olarak ele alınmıştır.

Ad System.Transactions alanı, kullanıma sunulan kaynak türlerine erişimi kısıtlayan allowPartiallyTrustedCallers (APTCA), DistributedTransactionPermission(DTP) ve tam güven olmak üzere üç güven düzeyi tanımlar. Çeşitli güven düzeyleri hakkında daha fazla bilgi için bkz . Kaynaklara Erişme bölümünde Güvenlik Güven Düzeyleri.

Bu bölümde

İşlem uygulaması yazma

Ad alanı, System.Transactions işlem uygulamaları oluşturmak için iki model sağlar. İşlem Kapsamı kullanılarak Örtük İşlem uygulanması, ad alanının System.Transactions sınıfını kullanarak örtük işlemler oluşturmayı nasıl desteklediğini TransactionScope açıklar.

CommittableTransaction kullanarak Bir Açık İşlem uygulamak, ad alanının System.Transactions sınıfını kullanarak açık işlemler oluşturmayı nasıl desteklediğini CommittableTransaction açıklar.

İşlem uygulaması yazmayı kapsayan ek konular için bkz . İşlem Uygulaması Yazma.

Bir kaynak yöneticisi uygulama

Bir işleme katılabilen bir kaynak yöneticisi uygulamak için bkz . Resource Manager Uygulama. Bu bölüm bir kaynağın listelenme, işlem yürütme, hatadan sonra kurtarma ve en iyi iyileştirme yöntemlerini kapsar.