ServiceBase.OnPause Yöntem
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.
Türetilmiş bir sınıfta uygulandığında, Service Control Manager (SCM) tarafından hizmete bir Duraklat komutu gönderildiğinde yürütülür. Bir hizmet duraklatıldığında gerçekleştirilecek eylemleri belirtir.
protected:
virtual void OnPause();
protected virtual void OnPause ();
abstract member OnPause : unit -> unit
override this.OnPause : unit -> unit
Protected Overridable Sub OnPause ()
Açıklamalar
Hizmet Bir Duraklat komutu aldığında gerçekleşen işlemeyi belirtmek için kullanın OnPause . OnPause özelliği olduğunda geçersiz kılınmış olması beklenir CanPauseAndContinue true
.
Duraklatılmış bir hizmete devam ettiğinizde (Hizmetler konsolu aracılığıyla veya program aracılığıyla), OnContinue işlem çalıştırılır ve hizmet yeniden etkin hale gelir.
Duraklat komutu yalnızca uygulamanızın belirli bir olaya tepki vermesine izin verir. OnPause , gerçekleştirmesi için tanımlamadığınız hizmete hiçbir şey yapmaz.
Duraklatma isteğinin hizmete gönderilmesi, tüm sistem kaynaklarının serbest bırakılması gerekmediğinden sistem kaynaklarından tasarruf edebilir. Örneğin, iş parçacıkları işlem tarafından açıldıysa, bir hizmeti durdurmak yerine duraklatmak, iş parçacıklarının açık kalmasına izin verebilir ve hizmet devam ettiğinde bunları yeniden ayırma gereksinimini gözönüne alabilir. Tüm sistem kaynaklarını serbest bırakmak için Duraklat'ı tanımlarsanız, durdur komutu gibi davranır.
true
olarak ayarlayın CanPauseAndContinue ve ve OnPause OnContinue SCM hizmetinize Bir Duraklatma veya Devam Et isteği geçirdiğinde gerçekleşecek işlemeyi belirtin. OnContinue içindeki işlemeyi OnPausegeri almak için uygulanmalıdır.
ise CanPauseAndContinue false
, SCM hizmete Duraklat veya Devam Et isteklerini geçirmez, bu nedenle OnPause ve OnContinue yöntemleri uygulansa bile çağrılmayacak. SCM'de Pause
ve Continue
denetimleri olduğunda CanPauseAndContinue false
devre dışı bırakılır.