Системное программное обеспечение. Макушкина Л.А. - 15 стр.

UptoLike

15
Службу можно устанавливать и удалять, используя файлы setup.exe и
FirstServices.msi, которые после построения установщика находятся в каталоге,
где был создан проект инсталлятора В данном примере в
C:\.....\FirstService\Debug\ и, кроме того, этих двух файлов достаточно для
установки службы из любой директории любого компьютера.
На данном этапе мы выполнили все требуемые шаги и проверили нашу
службу в работе. Далее, можно выполнить построение проекта в режиме
Release (меню Build, Configuration Manager, Release). setup.exe и
FirstServices.msi, после построения установщика будут находятся в каталоге
C:\.....\FirstServices\bin\Release). Далее возможно наполнять функциональность
службы по своему усмотрению.
Удаления сервиса с компьютера выполняется как и обычного приложения
Windows - (Settings/Control Panel/Add on Remove Programs).
2.1.7. Пример использования службы, для периодического выполнения
некоторых действий
Для задания простого механизма опроса можно воспользоваться
компонентом System.Timers.Timer. В методе OnStart можно задать параметры
компонента. Таймер будет выполнять в коде периодически некоторые действия
(например, запись в файл текущего времени, как это показано ниже). В код
лишь добавлен компонент Timer и обработчик события, выполняющий
некоторые действия по истечении заданного свойством timer1.Interval времени.
namespace MyFirstService
{
public class Service1 : ServiceBase
{
private StreamWriter file;
//Определяем таймер
private System.Timers.Timer timer1;
......
protected override void OnStart(string[] args)
{
file = new StreamWriter(new FileStream("Service1.log",
System.IO.FileMode.Append ));
this.file.WriteLine("MyFirstService стартовал");
this.file.Flush();
//Создаем таймер и выставляем его параметры
this.timer1 = new System.Timers.Timer();
this.timer1.Enabled = true;
//Интервал 10000мс - 10с.
this.timer1.Interval = 100000;
this.timer1.Elapsed +=
new System.Timers.ElapsedEventHandler(this.timer1_Elapsed);
this.timer1.AutoReset=true;
   Службу можно устанавливать и удалять, используя файлы setup.exe и
FirstServices.msi, которые после построения установщика находятся в каталоге,
где был создан проект инсталлятора В данном примере в
C:\.....\FirstService\Debug\ и, кроме того, этих двух файлов достаточно для
установки службы из любой директории любого компьютера.
   На данном этапе мы выполнили все требуемые шаги и проверили нашу
службу в работе. Далее, можно выполнить построение проекта в режиме
Release (меню Build, Configuration Manager, Release). setup.exe и
FirstServices.msi, после построения установщика будут находятся в каталоге
C:\.....\FirstServices\bin\Release). Далее возможно наполнять функциональность
службы по своему усмотрению.
   Удаления сервиса с компьютера выполняется как и обычного приложения
Windows - (Settings/Control Panel/Add on Remove Programs).

  2.1.7. Пример использования службы, для периодического выполнения
некоторых действий

   Для задания простого механизма опроса можно воспользоваться
компонентом System.Timers.Timer. В методе OnStart можно задать параметры
компонента. Таймер будет выполнять в коде периодически некоторые действия
(например, запись в файл текущего времени, как это показано ниже). В код
лишь добавлен компонент Timer и обработчик события, выполняющий
некоторые действия по истечении заданного свойством timer1.Interval времени.
  namespace MyFirstService
  {
    public class Service1 : ServiceBase
    {
      private StreamWriter file;
      //Определяем таймер
      private System.Timers.Timer timer1;

   ......

  protected override void OnStart(string[] args)
  {

   file = new StreamWriter(new FileStream("Service1.log",
      System.IO.FileMode.Append ));
   this.file.WriteLine("MyFirstService стартовал");
   this.file.Flush();
   //Создаем таймер и выставляем его параметры
   this.timer1 = new System.Timers.Timer();
   this.timer1.Enabled = true;
   //Интервал 10000мс - 10с.
   this.timer1.Interval = 100000;
   this.timer1.Elapsed +=
    new System.Timers.ElapsedEventHandler(this.timer1_Elapsed);
   this.timer1.AutoReset=true;
                                     15