Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu konu, System.Transactions tarafından kullanıma sunulan kaynak türlerinde erişimin nasıl kısıtlandığını tartışır.
için System.Transactionsüç ana güven düzeyi vardır. Güven düzeyleri, System.Transactions tarafından sunulan kaynak türlerine ve bu kaynaklara erişmek için gerekli olan güven düzeyine göre tanımlanır. erişim sağlayan kaynaklar System.Transactions sistem belleği, paylaşılan işlem genelindeki kaynaklar ve sistem genelindeki kaynaklardır. Düzeyler şunlardır:
Tek bir uygulama etki alanı içindeki işlemleri kullanan uygulamalar için Kısmen Güvenilir Çağrılara İzin Ver (APTCA) özelliği.
Dağıtılmış işlemleri kullanan uygulamalar için DistributedTransactionPermission (DTP).
Dayanıklı kaynaklar, yapılandırma yönetimi uygulamaları ve eski birlikte çalışma uygulamaları için tam güven.
Uyarı
Hiçbir çağrı arabirimini taklit edilen bağlamlarla kullanmamalısınız.
Güven Düzeyleri
APTCA (Kısmi Güven)
System.Transactions derlemesi, AllowPartiallyTrustedCallers özniteliği (APTCA) ile işaretlendiği için kısmen güvenilen kod tarafından çağrılabilir. Bu öznitelik temelde, her türdeki genel olarak erişilebilen her yönteme otomatik olarak yerleştirilen LinkDemand izin kümesinin örtük öğesini kaldırır. Ancak, bazı türler ve üyeler hala daha güçlü izinler gerektirir.
APTCA özniteliği, uygulamaların tek bir uygulama etki alanı içinde kısmi güven içindeki işlemleri kullanmasını sağlar. Bu, hata işleme için kullanılabilecek, yükseltilmeyen işlemleri ve geçici listeleri etkinleştirir. İşlemden geçirilmiş bir karma tablo ve bu tabloyu kullanan bir uygulama buna örnektir. Karma tabloya tek bir işlem altında veri eklenebilir ve kaldırılabilir. İşlem daha sonra geri alınırsa, bu işlemin altındaki karma tabloda yapılan tüm değişiklikler geri alınabilir.
Dağıtılmış İşlem İzni (DTP)
Bir System.Transactions işlem MSDTC tarafından yönetilmek üzere yükseltildiğinde, System.Transactions tarafından, dağıtılmış işlemi oluşturması için DistributedTransactionPermission (DTP) talep edilir. Bu, işlemin yükseltilmesine neden olan kodun (serileştirme veya ek kalıcı katılımlar gibi) DTP verilmesi gerektiği anlamına gelir. İşlemi ilk oluşturan kodun System.Transactions bu izne sahip olması gerekmez.
FullTrust Link Talepleri
Bu izin düzeyi, dayanıklı kaynaklara yazan uygulamaları kısıtlamak için tasarlanmıştır. Hata durumunda, uygulamanın kalıcı verileri güncelleştirebilmesi için işlemin nihai sonucunu belirlemek için işlem yöneticisiyle kurtarma yapabilmesi gerekir. Bu tür bir uygulama dayanıklı kaynak yöneticisi olarak bilinir. Bu tür bir uygulamanın klasik bir örneği SQL'dir.
Kurtarmayı etkinleştirmek için bu tür bir uygulama sistem kaynaklarını kalıcı olarak kullanma özelliğine sahiptir. Bunun nedeni, geri kazanılabilir işlem yöneticisinin, işlemeye katılan tüm dayanıklı kaynak yöneticilerinin sonucu aldığını onaylayana kadar tamamlanmış işlemleri hatırlaması gerektiğidir. Bu nedenle, bu tür bir uygulama tam güven gerektirir ve bu güven düzeyi verilmediği sürece çalıştırılmamalıdır.
Dayanıklı listelemeler ve kurtarma hakkında daha fazla bilgi için Bir İşlemde Kaynakları Katılımcı Olarak Listeleme ve Kurtarma Gerçekleştirme konularına bakın.
COM+ ile çalışan eski birlikte çalışma gerçekleştiren uygulamaların da tam güvene sahip olması gerekir.
Aşağıda, FullTrust bildirim temelli güvenlik özniteliğiyle donatıldığından kısmen güvenilen kod tarafından çağrılamayacak türlerin ve üyelerin listesi yer alıyor:
PermissionSetAttribute(SecurityAction.LinkDemand, Name := "FullTrust")
Yukarıdaki türleri veya yöntemleri kullanmak için yalnızca anlık çağıranın FullTrust izin kümesine sahip olması gerekir.