Aracılığıyla paylaş


EClrOperation Numaralandırması

Bir konağın ilke eylemlerini uygulayabileceği işlem kümesini açıklar.

Syntax

typedef enum {  
    OPR_ThreadAbort,  
    OPR_ThreadRudeAbortInNonCriticalRegion,  
    OPR_ThreadRudeAbortInCriticalRegion,  
    OPR_AppDomainUnload,  
    OPR_AppDomainRudeUnload,  
    OPR_ProcessExit,  
    OPR_FinalizerRun  
} EClrOperation;  

Üyeler

Üye Description
OPR_AppDomainRudeUnload Konak, yetkisiz (kaba) bir şekilde kaldırıldığında AppDomain gerçekleştirilecek ilke eylemlerini belirtebilir.
OPR_AppDomainUnload Konak, kaldırıldığında AppDomain gerçekleştirilecek ilke eylemlerini belirtebilir.
OPR_FinalizerRun Ana bilgisayar, sonlandırıcılar çalıştırıldığında gerçekleştirilecek ilke eylemlerini belirtebilir.
OPR_ProcessExit Konak, işlemden çıkıldığında gerçekleştirilecek ilke eylemlerini belirtebilir.
OPR_ThreadAbort Konak, bir iş parçacığı durdurulduğunda gerçekleştirilecek ilke eylemlerini belirtebilir.
OPR_ThreadRudeAbortInCriticalRegion Konak, kodun kritik bir bölgesinde kaba bir iş parçacığı iptali gerçekleştiğinde gerçekleştirilecek ilke eylemlerini belirtebilir.
OPR_ThreadRudeAbortInNonCriticalRegion Konak, kodun kritik olmayan bir bölgesinde kaba bir iş parçacığı iptali gerçekleştiğinde gerçekleştirilecek ilke eylemlerini belirtebilir.

Açıklamalar

Ortak dil çalışma zamanı (CLR) güvenilirlik altyapısı, kodun kritik bölgelerinde ve kodun kritik olmayan bölgelerinde gerçekleşen iptaller ile kaynak ayırma hataları arasında ayrım sağlar. Bu ayrım, konakların kodda nerede hata oluştuğuna bağlı olarak farklı ilkeler ayarlamasına izin vermek için tasarlanmıştır.

Kritik kod bölgesi, CLR'nin bir görevi durdurmanın veya kaynaklara yönelik bir isteği tamamlayamamasının yalnızca geçerli görevi etkileyeceğini garanti edemeyeceği herhangi bir alantır. Örneğin, bir görev kilit tutuyorsa ve bellek ayırma isteğinde bulunduğunda başarısız olduğunu belirten bir HRESULT alıyorsa, aynı kilit için bekleyen başka görevler içerebileceğinden , kararlılığını AppDomainAppDomain sağlamak için bu görevi durdurmak yeterli değildir. Geçerli görevi bırakmak, diğer görevlerin yanıt vermeyi durdurmasına neden olabilir. Böyle bir durumda, konağın olası dengesizlik riski yerine tamamını AppDomain kaldırabilmesi gerekir.

Diğer yandan, kritik olmayan bir kod bölgesi, CLR'nin bir durdurmanın veya bir hatanın yalnızca hatanın oluştuğu görevi etkileyeceğini garanti ettiği bir bölgedir.

CLR ayrıca düzgün ve düzgün olmayan (kaba) iptalleri arasında ayrımlar. Genel olarak, normal veya düzgün bir iptal, görevi durdurmadan önce özel durum işleme yordamlarını ve sonlandırıcıları çalıştırmak için her çabayı gösterirken, kaba bir iptal böyle bir garanti sağlamaz.

Gereksinimler

Platform: Bkz. Sistem Gereksinimleri.

Üstbilgi: MSCorEE.h

Kitaplık: MSCorEE.dll

.NET Framework Sürümleri: 2.0 sürümünden itibaren kullanılabilir

Ayrıca bkz.