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 | Açıklama |
|---|---|
| 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 | Arayan, kilidin sahibi değil. |
| 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, her yeni 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'ı çağırır.
Çalışma zamanı, yeni örneği konak göreviyle ilişkilendirmek için IHostTask::SetCLRTask'ı çağırır.
Görev yürütülür ve tamamlar.
Konak, çağırarak
ICLRTask::ExitTaskgörevi yok eder.
Reset bu senaryo iki şekilde değiştirir. Yukarıdaki 5. adımda, konak görevi temiz bir duruma sıfırlamak için çağırır Reset ve ardından örneği ilişkili IHostTask örneğinden ayrıştırı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.
Bu yaklaşım, konağın yeniden kullanılabilir çalışan görevlerinden oluşan bir havuzu olduğunda da iyi çalışır. Konak örneklerinden IHostTask birini yok ettiğinde, çağırarak ExitTaskkarşılık geleni ICLRTask yok eder.
Gereksinimler
Platform: Bkz. Sistem Gereksinimleri.
Üstbilgi: MSCorEE.h
Kütüphane: MSCorEE.dll'da kaynak olarak dahil
.NET Framework Sürümleri: 2.0'dan itibaren kullanılabilir