Сообщение администратору
Имя:
Email:
Ziņojums:
Вход на сайт
Lietotājs:
Parole:

Статистика
Поделиться
Ziedojums  •  Dienasgrāmata  •  Par projektu  •  Reklāma  •  Ievietojiet reklāmu  •  Sūtīt saturu  •  Laika skala  •  Translate  •  Рекомендованное  •  Написать администратору OpenToWork Viesi: 7    Dalibnieki: 1 Авторизация Sign In   Sign Up 
Scientific Poke Method
RULVEN
Meklēšana  
Blackball iMag | интернет-журнал
RSS-лента
Share link:
Katalogs

Статьи
Anonymous • Сб 17.09.2005 04:47

Sākums » Software development » Develop and install a Windows Service in C#

Develop and install a Windows Service in C#


Added: Пн 16.11.2020 • Sergeant
Source: source
Skatījumi: 683
Komentāri: 0


What is a Windows Service

  • Enables you to create long-running executable applications that run in their own windows session.
  • Can be automatically started when the computer boots, can be paused and restarted without any user interaction.
  • Easily installable by running the command line utility InstallUtil.exe and passing the path to the service's executable file.

Why a Windows Service?

One of the most common requirements of some businesses is long-running scheduled jobs based on some time interval. For example: sending a newsletter everyday afternoon or send an email alert to the customer for every one hour.

So building a Windows Service could be one of the reliable solutions to do the goal that can do the required job in the behind the scenes without interfering others users on the same computer.

Introduction

This article explains a step-by-step process of developing and installing a Windows Service to do a scheduled job based on a time interval.

Open Visual Studio and from the menus select "File" -> "New" -> "Project...".

A New Project window will open. Choose "Visual C#" >> "Windows" project type and select "Windows Service" from the right hand side and name the project "TestWindowsService" as shown in the following screenshot.

After you click "OK", the project will be created and you will see the design view of the service as shown in the following screen. Right-click the "Service1.cs" file in Solution Explorer and rename it "to" Scheduler or any other name that you want to give it. Then click “click here to switch to code view”.

In the code view, you can see two methods called OnStart() and OnStop(). The OnStart() triggers when the Windows Service starts and the OnStop() triggers when the service stops.

Right-click the TestWindowService project, add a new class and name it "Library.cs". This class will be useful to create the methods that we require in the project. If your TestWindowService is a big project, you can create a ClassLibrary project and reference it to your TestWindowService.

Library.cs

Make the class public and declare it as a Static class.

Create a log method (WriteErrorLog) to log the exceptions.

Create one more log method (WriteErrorLog) to log the custom messages.

Scheduler.cs

Now return to our Scheduler.cs file and declare a Timer.

Write the following code in the OnStart() method and timer1_Tick():

Write the following code in the OnStop() method:

Scheduler.cs [Design]

Now return to the Scheduler.cs [Design] and right-click on the editor window then click "Add Installer".

Then you can see that there will be a new file called "ProjectInstaller.cs" as shown in the following.

Right-click on the "serviceInstaller1" and click "Properties".

Change the ServiceName to "Test Windows Service" (or your own name) and StartType to "Manual" (or you can choose "Automatic" if you need this service to be automatic).

Right-click the serviceProcessInstaller1, go to the properties window and change "Account" to "LocalSystem".

Build the project to see the .exe file at the location where you created the solution.

That's all. Your Windows Service is all ready to install in your machine.

Installing the Windows Service

Go to "Start" >> "All Programs" >> "Microsoft Visual Studio 2012" >> "Visual Studio Tools" then click "Developer Command Prompt for VS2012".

Type the following command:

cd

in my case it is:

cd C:\Sandbox\WindowServices\TestWindowService\TestWindowService\bin\Debug

Next type the following command:

InstallUtil.exe “TestWindowService.exe”

and press Enter.

Here you go, the TestWindowService is installed successfully.

How to start the Windows Service

Since we chose StartType = Manual, we must start the Windows Service manually by visiting the "Services and Applications" window in the computer.

Select the Test Windows Service and click "Start" to start the service. Go to the "TestWindowService.exe" location to see the logs.

LogFile.txt

Since we are tracking our Windows Service by writing some logs to a .txt file called LogFile.txt, we can test the working condition of our Windows Service by looking at this log file.

As you can see in the preceding screen, you can find the LogFile.txt file at the physical location that your TestWindowService solution exists.

Click the LogFile.txt to see the logs, whether our service is doing the job that we set it to do for every 30 seconds.

If you look at the preceding log file, we can prove that our Windows Service is running and doing the job that we wanted on a 30 seconds interval.

Stop the Windows Service

To stop the Windows Service, just click "Stop" link in the Services window by selecting our TestWindowService.

Logfile after stopping our service:

Type the following two commands in the "Developer Command Prompt for VS2012" to uninstall the TestWindowService.exe.

  1. cd
    and press Enter. In my case it is:
    cd C:\Sandbox\WindowServices\TestWindowService\TestWindowService\bin\Debug
  2. InstallUtil.exe /u “TestWindowService.exe”
    And press enter.
    After executing the preceding commands, the TestWindowService will be uninstalled from your computer.

Summary

In this article, I explained how to develop a Windows Service and install it using InstallUtil.exe from a command prompt.

I believe that I have explained each step clearly that can be easily understandable for a beginner to develop and install a Windows Service.



Мне нравится 0   Мне не нравится 0



Сейчас читают:
Участников (0) и гостей (0)




Komentāri: 0
There are no comments.

Новое
OWASP: что это такое и что нужно знать веб-разработчикам 3 дня назад, 11:44
OWASP: что это такое и что нужно знать веб-разработчикам
Система визуализации и мониторинга. Grafana + Prometheus Вт 11.03.2025
Система визуализации и мониторинга. Grafana + Prometheus
От имени реальных HR: Squid Werewolf маскируются под рекрутеров крупных компаний Вт 11.03.2025
От имени реальных HR: Squid Werewolf маскируются под рекрутеров крупных компаний
Айтишники отправляют детей учиться на плотников и электриков. Они уверены, что ИИ уничтожит интеллектуальный труд Пн 10.03.2025
Айтишники отправляют детей учиться на плотников и электриков. Они уверены, что ИИ уничтожит интеллектуальный труд
Ретроконсоль Sega Master System II: что внутри винтажной приставки? Пн 10.03.2025
Ретроконсоль Sega Master System II: что внутри винтажной приставки?
Обиженный программист «заминировал» IT-системы энергетического гиганта Пн 10.03.2025
Обиженный программист «заминировал» IT-системы энергетического гиганта
Алгоритмы голодания: ИИ отбирает хлеб у 76 миллионов фрилансеров Пн 10.03.2025
Алгоритмы голодания: ИИ отбирает хлеб у 76 миллионов фрилансеров
Внешний аккумулятор restore: hello, world! – быстрая зарядка на пляже Вс 09.03.2025
Внешний аккумулятор restore: hello, world! – быстрая зарядка на пляже
Как компании контролируют удалённо работающих сотрудников Сб 08.03.2025
Как компании контролируют удалённо работающих сотрудников
Вайб-кодинг: программисты нашли способ зарабатывать, ничего не делая? Пт 07.03.2025
Вайб-кодинг: программисты нашли способ зарабатывать, ничего не делая?
Grāmatas
Fundamentals of Enterprise Architecture Вт 11.03.2025
Fundamentals of Enterprise Architecture
Год: 2024
Pro .NET Memory Management, Second Edition Вт 04.03.2025
Pro .NET Memory Management, Second Edition
Год: 2024
Micro Frontends in Action Вт 18.02.2025
Micro Frontends in Action
Год: 2020
Разработано на основе BlackNight CMS
Release v.2025-03-14
© 2000–2025 Blackball
Design & programming:
AboutReklāma
PULS.LV Professional rating system
Visitors
Web-site performed by Sergey Drozdov
BlackballReklāmaStatistikaПоддержка
MusicPlaylistsCinemaVideoGamesAudioDownloadsMagazinePicturesHumorForumWebsite journalSend contentРекомендованное
Complete your gift to make an impact
Buy Me A Coffee
Если вам понравился этот сайт и вы хотите меня поддержать, вы можете купить мне кофе. Спасибо!