Aracılığıyla paylaş


ServiceBase.OnPause Yöntem

Tanım

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.

trueolarak 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 falsedevre dışı bırakılır.

Şunlara uygulanır

Ayrıca bkz.