C# 从重写的方法调用基本ServiceBase类方法
在实现从C# 从重写的方法调用基本ServiceBase类方法,c#,windows-services,C#,Windows Services,在实现从ServiceBase派生的Windows服务时,是否需要在等效重写方法中显式调用基类方法,例如OnSessionChange(…)、OnStart(…)、OnStop()或Dispose(disposing)?比如: protected override void OnShutdown() { // our own logic base.OnShutdown(); // <- is this call necessary? for base.Dispose(...
ServiceBase
派生的Windows服务时,是否需要在等效重写方法中显式调用基类方法,例如OnSessionChange(…)
、OnStart(…)
、OnStop()
或Dispose(disposing)
?比如:
protected override void OnShutdown()
{
// our own logic
base.OnShutdown(); // <- is this call necessary? for base.Dispose(...)? others?
}
protectedoverride void OnShutdown()
{
//我们自己的逻辑
base.OnShutdown();//除非您希望为每个事件执行任何特定的业务逻辑,否则不必这样做。如果您希望清理任何托管资源,则可能需要Dispose。谢谢;我的意思是有必要在重写的方法中调用基方法吗?不是所有的方法都可以被重写;但是那些可以被重写的方法-基方法中是否有隐藏的行为方法?ServiceBase.OnXxxx()中的任何一个都不做任何事情。处理服务没有任何意义,服务进程会在毫秒后终止。因此重写处理(bool)是毫无意义的。在OnStop
或OnShutdown
theDispose(bool Disposing)
被调用。对于需要对需要释放的资源进行内务管理和清理等的服务来说,这可能很重要。除非您想为每个事件执行任何特定的业务逻辑,否则不需要这样做。如果您想清理任何托管资源,可能需要Dispose。谢谢;我的意思是有必要使用c重写方法中的所有基方法?不是所有的基方法都会被重写;但是那些被重写的基方法会被重写吗?基方法中有任何隐藏的行为吗?ServiceBase.OnXxxx()都不会做任何事情。处理服务毫无意义,服务进程会在毫秒后终止。因此重写处理(bool)没有意义。在OnStop
或OnShutdown
调用Dispose(bool disposing)
。这对于需要对需要释放的资源进行整理和清理的服务来说可能很重要。