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.
Ortak dil çalışma zamanına (CLR) konağın bir görevi tamamladığını bildirir ve CLR'nin başka bir görevi temsil etmek için geçerli ICLRTask örneğini yeniden kullanmasını sağlar.
Sözdizimi
HRESULT Reset (
[in] BOOL fFull
);
Parametreler
fFull
[in] true, çalışma zamanının geçerli ICLRTask örnekle ilgili güvenlik ve yerel ayar bilgilerine ek olarak iş parçacığıyla ilgili tüm statik değerleri sıfırlaması gerekiyorsa, aksi takdirde , false.
Değer isetrue, çalışma zamanı veya AllocateNamedDataSlotkullanılarak AllocateDataSlot depolanan verileri sıfırlar.
Dönüş Değeri
| HRESULT | Description |
|---|---|
| S_OK |
Reset başarıyla döndürüldü. |
| HOST_E_CLRNOTAVAILABLE | CLR bir işleme yüklenmedi veya CLR yönetilen kodu çalıştıramadığı veya çağrıyı işleyemediği bir durumda. Başarı -yla |
| HOST_E_TIMEOUT | Arama zaman aşımına uğradı. |
| HOST_E_NOT_OWNER | Çağıranın kilidi yoktur. |
| HOST_E_ABANDONED | Engellenen bir iş parçacığı veya fiber beklerken bir olay iptal edildi. |
| E_FAIL | Bilinmeyen bir yıkıcı hata oluştu. Bir yöntem E_FAIL döndürdüğünde, CLR artık işlem içinde kullanılamaz. Barındırma yöntemlerine yapılan sonraki çağrılar HOST_E_CLRNOTAVAILABLE döndürür. |
Açıklamalar
CLR, yeni bir göreve ihtiyaç duyduğunda tekrar tekrar yeni örnekler oluşturma yükünü önlemek için daha önce oluşturulmuş ICLRTask örnekleri geri dönüştürebilir. Konak, bir görevi tamamladığında ICLRTask::ExitTask yerine çağırarak ICLRTask::Reset bu özelliği etkinleştirir. Aşağıdaki liste, örneğin ICLRTask normal yaşam döngüsünü özetler:
Çalışma zamanı yeni
ICLRTaskbir örnek oluşturur.Çalışma zamanı, geçerli konak görevine başvuru almak için IHostTaskManager::GetCurrentTask öğesini çağırır.
Çalışma zamanı, yeni örneği konak göreviyle ilişkilendirmek için IHostTask::SetCLRTask öğesini çağırır.
Görev yürütülür ve tamamlar.
Konak, çağrısı
ICLRTask::ExitTaskyaparak görevi yok eder.
Reset bu senaryo iki şekilde değiştirilir. Yukarıdaki 5. adımda konak, görevi temiz bir duruma sıfırlamak için çağrı Reset yapar ve ardından örneği ilişkili IHostTask örneğinden ayrıştırmaktadırICLRTask. İsterseniz, konak örneği yeniden kullanmak üzere önbelleğe IHostTask alabilir. Yukarıdaki 1. adımda çalışma zamanı yeni bir örnek oluşturmak yerine önbellekten geri dönüştürülmüş ICLRTask bir örnek çeker.
Konağın yeniden kullanılabilir çalışan görevleri havuzu olduğunda da bu yaklaşım iyi çalışır. Konak örneklerinden IHostTask birini yok ettiğinde, çağırarak ExitTaskilgili ICLRTask öğesini yok eder.
Gereksinimler
Platform: Bkz. Sistem Gereksinimleri.
Üstbilgi: MSCorEE.h
Kitaplığı: MSCorEE.dll'da kaynak olarak dahil edilen
.NET Framework Sürümleri: 2.0 sürümünden itibaren kullanılabilir