В нашем приложении есть несколько служб Windows (более 30), которые должны работать за кулисами для обработки данных в определенное время в течение дня.Я пытался создать класс BaseService, от которого я мог бы унаследовать этот протокол, который бы регистрировал нашу базу данных при запуске или остановке службы, а также некоторые другие общие функции.Тем не менее, я столкнулся с ограничителем показа при попытке создать BaseService как MustInherit, так как у нас есть ряд свойств MustOverride.Проблема заключается в:
<MTAThread()> Shared Sub Main()
Наш код весь в VB (как вы, вероятно, можете сказать).Учитывая, что это общий метод, я не могу переопределить его (т.е. сделать его MustOverride).Без этого метода код не будет компилироваться, однако он не будет работать в базовом классе.Код в этом методе:
Dim ServicesToRun() As System.ServiceProcess.ServiceBase
ServicesToRun = New System.ServiceProcess.ServiceBase() {New BaseService}
System.ServiceProcess.ServiceBase.Run(ServicesToRun)
Невозможно создать BaseService (имя моего базового класса), поскольку он указан как MustInherit.И в этом заключается моя проблема.Я не могу создать это в базовом классе и не могу переопределить его в наследующих классах.