dir.by  
  Поиск  
Программирование, разработка, тестирование
Windows Service (используя C#)
Создаем новое приложение C# Windows Service (.NET Framework)
  Посмотрели 1788 раз(а)    
 Создаем новое приложение C# Windows Service (.NET Framework) 
последнее обновление: 18 апреля 2023
Скачать мой сервис с исходным кодом:
WindowsService1.zip ...
размер: 34 килобайтов
 
Что делает мой сервис:
• при запуске сервиса создает таймер
• по таймеру (интервал 5 секунд) пишется текст в файл D:\my_service.txt
Шаг 1. Открываем Visual Studio
Если у вас не установлена Visual Studio нужно установить Visual Studio...
Открываем Visual Studio 2022
или
Открываем Visual Studio 2019
Шаг 2. Создаем новое приложение с типом "Windows Service (.NET Framework)"
Шаг 3. Добавляем код в файл ProjectInstaller.Designer.cs
  Файл D:\WindowsService1\ProjectInstaller.Designer.cs
...
this.serviceProcessInstaller1.Account = System.ServiceProcess.ServiceAccount.LocalSystem; // my line 1
...
this.serviceInstaller1.Description = "My First Service demo"; // my line 2
...
this.serviceInstaller1.DisplayName = "MyFirstService.Demo"; // my line 3
...

Шаг 4. Добавляем код в файл Service1.cs
  Файл D:\WindowsService1\Service1.cs
using System;
using System.IO;
using System.ServiceProcess;
using System.Timers;

namespace WindowsService1
{
     public partial class Service1 : ServiceBase
     {
          private Timer _timer = new Timer();

          public Service1()
          {
               InitializeComponent();
          }
         
          protected override void OnStart(string[] args)
          {
               WriteToFile("Service is started at " + DateTime.Now);
              
               _timer.Elapsed += new ElapsedEventHandler(OnElapsedTime);
               _timer.Interval = 5000; //5 seconds
               _timer.Enabled = true;
          }

          protected override void OnStop()
          {
               WriteToFile("Service is stopped at " + DateTime.Now);
          }

          private void OnElapsedTime(object source, ElapsedEventArgs e)
          {
               WriteToFile("Service is recall at " + DateTime.Now);
          }

          public void WriteToFile(string Message)
          {
               string filepath = "D:\\my_service.txt";

               // will write text in end of file
               using (StreamWriter fileStream = File.Exists(filepath) ? File.AppendText(filepath): File.CreateText(filepath))
               {
                    fileStream.WriteLine(Message);
               }
          }
     }
}
Шаг 5. Добавляем сервис в систему
Выполняем команду:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe D:\WindowsService1\bin\Debug\WindowsService1.exe
 
Откроем Services и увидим что сервис установился в системе Windows:
Шаг 6. Запускаем сервис
Выполняем команду:
net start MyFirstService.Demo
Шаг 7. Останавливаем сервис
Выполняем команду:
net stop MyFirstService.Demo
Шаг 8. Удаляем сервис из системы
Выполняем команду:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe /u D:\WindowsService1\bin\Debug\WindowsService1.exe
 
 
Следующая тема →
C# Windows Service (.NET Framework) с получением имени пользователя. Событие при входе/выходе пользователя из Windows
 
Ваши Отзывы ... комментарии ...
   
Вашe имя
Ваш комментарий (www ссылки может добавлять только залогиненный пользователь)

Картинки

Windows Service (используя C#)  
Технология .NET Framework
Создаем новое приложение C# Windows Service (.NET Framework)
C# Windows Service (.NET Framework) с получением имени пользователя. Событие при входе/выходе пользователя из Windows
Создать папку "My Application" в папке "Application and Services logs" | Event Viewer
Технология .NET Core
Создаем новое приложение C# Windows Service (библиотека .NET Core и использую Worker)
Загрузка параметров из appsettings.json для приложения C# Windows Service (библиотека .NET Core и использую Worker)
Как открыть Notepad приложение из C# Windows Service | библиотека .NET Core и использую Worker
Делаем publish проекта (компилируем и собираем проект) "C# Windows Service" | библиотека .NET Core используя Worker
Как зарегистрировать exe file как Windows Service. Запуск/остановка Windows Service в системе Windows | библиотека .NET Core используя Worker

  Ваши вопросы присылайте по почте: info@dir.by  
Яндекс.Метрика