Environment.HasShutdownStarted Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Geçerli uygulama etki alanının kaldırıldığını veya ortak dil çalışma zamanının (CLR) kapatıldığını belirten bir değer alır.
public:
static property bool HasShutdownStarted { bool get(); };
public static bool HasShutdownStarted { get; }
member this.HasShutdownStarted : bool
Public Shared ReadOnly Property HasShutdownStarted As Boolean
Özellik Değeri
true
geçerli uygulama etki alanı kaldırılıyorsa veya CLR kapatılıyorsa; aksi takdirde , false
.
Açıklamalar
Yalnızca .NET Framework: CLR bir uygulama etki alanını kaldırdığında, bu uygulama etki alanında sonlandırıcı yöntemi olan tüm nesnelerde sonlandırıcıları çalıştırır. CLR kapatıldığında, sonlandırıcı yöntemi olan tüm nesnelerde sonlandırıcı iş parçacığını başlatır. HasShutdownStarted özelliği yalnızca sonlandırıcı iş parçacığı başlatıldıktan sonra döndürürtrue
. özelliği döndürdüğünde true
, yöntemini çağırarak AppDomain.IsFinalizingForUnload bir uygulama etki alanının kaldırıldığını veya CLR'nin kendisinin kapatıldığını belirleyebilirsiniz. Bu yöntem, uygulama etki alanı kaldırıldığından veya false
CLR kapatıldığında sonlandırıcıların çağrılıp çağrılmadığını döndürürtrue
.
Sonlandırıcı HasShutdownStarted iş parçacığı başlatılmadıysa özelliği döndürür false
.
Bu özelliği kullanarak, sonlandırma kodunuzda statik değişkenlere erişip erişmeyeceğini belirleyebilirsiniz. Uygulama etki alanı veya CLR kapatılıyorsa, bir sonlandırma yöntemi olan ve statik bir alan tarafından başvurulan hiçbir nesneye güvenilir bir şekilde erişemezsiniz. Bunun nedeni, bu nesnelerin zaten sonlandırılmış olmasıdır.