Служба Windows не вызывает метод onStart после Run()C#

Место общения программистов C#
Ответить
Anonymous
 Служба Windows не вызывает метод onStart после Run()

Сообщение Anonymous »

Я пишу службу Windows на C#, и когда я запускаю ее в режиме отладки, она работает отлично. Когда я устанавливаю и запускаю службу, я вижу, что она работает, но никогда не вызываю onStart, вместо этого она просто ничего не делает. Я это знаю, просматривая логи.
Это мое основное:

Код: Выделить всё

        static void Main()
{

if (Debugger.IsAttached)
{

Console.WriteLine("Il servizio è in modalità debug.");
MyService service = new MyService();
service.OnStart(null);
Console.WriteLine("Premi un tasto per arrestare il servizio...");
Thread.Sleep(Timeout.Infinite);
service.OnStop();
}
else
{
Log("Il servizio non è in modalità debug, lo avvio come servizio Windows");

ServiceBase[] ServicesToRun = new ServiceBase[] { new MyService() };

ServiceBase.Run(ServicesToRun);
}
}
А это мой сервис onStart:

Код: Выделить всё

   public new void  OnStart(string[] args)
{
// Calcola il tempo fino alle 7:00 AM del giorno successivo
base.OnStart(args);
Log("arrivo qua");
// Imposta il timer per eseguire l'operazione ogni giorno alle 7:00 AM
_timer = new Timer();
_timer.Elapsed += TimerElapsed;
var configParams = LeggiParametri(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "config.txt"));
SetGiorniParam(configParams.Item1);  // Imposta il numero di giorni
SetEmailTo(configParams.Item2);      // Imposta le email da inviare
SetEmailCC(configParams.Item3);

TimeSpan timeUntilNextRun = GetTimeUntilNextRun();
_timer.Interval = timeUntilNextRun.TotalMilliseconds;
_timer.Start();
EseguiOperazione();

WriteToLog("Il servizio è stato avviato.");
}
Когда я запускаю в режиме отладки. Это работает. Когда я запускаю службу, я вижу, что она никогда не входит в onStart, потому что я никогда не вижу журнал: Log("arrivo qua");
Можете ли вы мне помочь?

Подробнее здесь: https://stackoverflow.com/questions/791 ... -after-run
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»