Aracılığıyla paylaş


Çok İş Parçacıklı Hizmetler

Hizmet denetim yöneticisi (SCM), hizmetin denetim işleyici yordamına hizmet denetimi olayları göndererek bir hizmeti denetler. SCM'nin hizmetin durumunu izleyebilmesi için hizmetin denetim olaylarına zamanında yanıt vermesi gerekir. Ayrıca, hizmetin durumu, SCM'nin aldığı durumunun açıklamasıyla eşleşmelidir.

Bir hizmet ile SCM arasındaki bu iletişim mekanizması nedeniyle, bir hizmette birden çok iş parçacığı kullanırken dikkatli olmanız gerekir. Bir hizmete SCM tarafından durdurulması talimatı verildiğinde, hizmetin durdurulduğunu SCM'ye bildirmeden önce tüm iş parçacıklarının çıkmasını beklemesi gerekir. Aksi takdirde, SCM hizmetin durumu hakkında karıştırılabilir ve düzgün kapatılamayabilir.

SCM'ye hizmetin durdurma denetimi olayına yanıt verdiği ve hizmetin durdurulmasında ilerleme kaydedildiği bildirilmelidir. SCM, hizmet SetServiceStatusönceki çağrıda belirtilen süre içinde (bekleme ipucu) SetServiceStatusaracılığıyla) yanıt verirse hizmetin ilerleme kaydettiğini varsayar ve denetim noktası SetServiceStatusiçin yapılan önceki çağrıda belirtilen denetim noktasından daha büyük olacak şekilde güncelleştirilir.

Hizmet, tüm iş parçacıklarından çıkmadan önce hizmetin durdurulduğunu SCM'ye bildirirse, SCM'nin bunu bir çelişki olarak yorumlaması mümkündür. Bu, hizmetin durdurulamadığı veya yeniden başlatılamadığı bir duruma neden olabilir.