我是窗口服务的新手。我有一个对postgresql或Sql压缩数据库做某些事情。除了一些方法之外,每一个都非常相似(因为它的服务是OnStart()和OnStop()......)。
protected override void OnStart(string[] args)
{
//normal code for database, in both services, but can't call from Interface
}
private void SetUniqueTimer()
{
//unique to certain database
}
private void SetUniqueTimer2()
{
//unique to other database
}
如果我可以为不同类型的数据库添加接口,我想知道将来的代码重用性。我将两者的代码合并到一个服务中,并且根据我将来需要与哪个数据库进行通信,我可以添加一个接口并调用适当的方法吗?另外因为OnStart和OnStop受到保护我无法打电话给他们,他们永远不会开始或停止吗?如果我需要澄清请告诉我。我试图做的主要是使服务可以重复使用以备将来使用,并且易于维护 如果这是完全错误的方向采取请建议更好的更有效的方式