Сервис Windows. Не работает обработчик для таймера - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, коллеги. Не работает обработчик таймера из сервиса.
Листинг программы
  1. using System;
  2. using System.Diagnostics;
  3. using System.ServiceProcess;
  4. using System.Net;
  5. namespace TestService
  6. {
  7. public partial class MyService : ServiceBase
  8. {
  9. public MyService()
  10. {
  11. InitializeComponent();
  12. }
  13. string host = "http://google.com";
  14. //проверяем, жив ли гугл
  15. public bool CheckConnection()
  16. {
  17. try
  18. {
  19. HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(host);
  20. HttpWebResponse response = (HttpWebResponse)request.GetResponse();
  21. if (HttpStatusCode.OK == response.StatusCode)
  22. {
  23. response.Close();
  24. return true;
  25. }
  26. else
  27. {
  28. response.Close();
  29. return false;
  30. }
  31. }
  32. catch (WebException)
  33. {
  34. return false;
  35. }
  36. }
  37. protected override void OnStart(string[] args)
  38. {
  39. timer1.Enabled = true;
  40. timer1.Start();
  41. AddLog("start");
  42. Console.Beep(1000, 100);
  43. Console.Beep(1100, 100);
  44. Console.Beep(1200, 100);
  45. }
  46. protected override void OnStop()
  47. {
  48. AddLog("stop");
  49. Console.Beep(1300, 100);
  50. Console.Beep(1200, 100);
  51. Console.Beep(1100, 100);
  52. }
  53. public void AddLog(string log)
  54. {
  55. try
  56. {
  57. if (!EventLog.SourceExists("MyService"))
  58. {
  59. EventLog.CreateEventSource("MyService", "MyService");
  60. }
  61. eventLog1.Source = "MyService";
  62. eventLog1.WriteEntry(log);
  63. }
  64. catch { }
  65. }
  66. private void timer1_Tick(object sender, EventArgs e)
  67. {
  68. if (CheckConnection() != true)
  69. Console.Beep(350, 75);
  70. }
  71. }
  72. }
Регистрируем сервис батником следующего содержания: C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe "D:\Distrib\Utilities\Eternal\MyService.exe" pause далее идём в service.msc, находим наш сервис. Играемся: включаем/выключаем его, слышим мелодию на старт/стоп, стало быть сервис стартует и останавливается нормально. Но почему-то не работает обработчик события для timer1. В чём тут может быть дело?

Решение задачи: «Сервис Windows. Не работает обработчик для таймера»

textual
Листинг программы
  1. Console.Beep(350, 75);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.875 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы