本文介绍了为什么在Windows Service停止时调用base.OnStop()?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在创建一个C#.Net Windows服务,想知道是否总是需要在该服务的 OnStop()
方法中调用 base.OnStop();
为什么?
I'm creating a C#.Net Windows Service and am wondering if you always have to call base.OnStop();
in the service's OnStop()
method and why?
protected override void OnStop()
{
threadRunning = false;
this.ExitCode = 0;
base.OnStop();
}
推荐答案
来自 ServiceBase.OnStop :
因此,它实际上用作停止服务的通知.
So it's really used as a notification to your service that it is stopping.
浏览一下ServiceBase.cs的.NET源代码,发现该方法无济于事:
A glance at the .NET source code for ServiceBase.cs reveals the method does nothing:
protected virtual void OnStop()
{
}
那么,您需要调用它吗?否.但是这样做仍然是一个很好的形式.基本实现可能有一天会更改.
So, do you need to call it? No. But it is still good form to do so. The base implementation may change someday.
这篇关于为什么在Windows Service停止时调用base.OnStop()?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!