Из того, что вы описали, не обязательно возникла проблема с базой данных.Что вам нужно, это способ отладки службы Windows.В частности, OnStart.
Вот что я часто помещаю в OnStart в службе Windows, написанной на C #
protected override void OnStart(string[] args)
{
foreach (string arg in args)
{
if (arg == "DEBUG_SERVICE")
DebugMode();
}
#if DEBUG
DebugMode();
#endif
timer.Interval = 1;
timer.Start();
}
private static void DebugMode()
{
Debugger.Break();
}
Теперь, когда вы хотите отладить OnStart, вы можете добавить команду "DEBUG_SERVICE"аргумент из панели управления службами.В противном случае вам придется попробовать подключить отладчик вручную, что может быть не вовремя.
Также обратите внимание, как я запускаю таймер.Это позволяет отдельному потоку выполнять фактическую работу.Это важно, потому что вы хотите, чтобы OnStart завершался своевременно.Таймер не требуется, потому что некоторые службы Windows отвечают на событие, например, средство просмотра файлов, но чаще всего нет, кажется, что опрос с интервалами - это то, что люди делают в службах Windows.