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