C# 윈도우즈 서비스 만들기 및 정시 실행
5599 단어 C#
1. 윈도우 서비스 만들기
1. 새 프로젝트 – > Windows 서비스를 선택합니다.기본 생성 파일에는 Program이 있습니다.cs,Service1.cs
2. 서비스 1.cs에서 다음 코드를 추가합니다.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.Threading.Tasks;
namespace Service1
{
partial class Service1: ServiceBase
{
System.Timers.Timer _Timer; //
private static object _LockSMS_Send = new object();
public GGGoodsRack()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
// TODO: 。
int minute = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["GapDate"].ToString());
this._Timer = new System.Timers.Timer();
this._Timer.Interval = minute * 60 * 1000; //
this._Timer.Elapsed += new System.Timers.ElapsedEventHandler(Timer_Elapsed);
this._Timer.Enabled = true;
}
protected override void OnStop()
{
// TODO: 。
this._Timer.Enabled = false;
}
private void Timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
Log.Read(DateTime.Now.ToString("----------------------------------- :yyyy-MM-dd HH:mm:ss------------------------------------"));
DateTime t1 = DateTime.Now;
Log.Read(" ");
Log.Read(string.Format(" :{0} {1} ", (DateTime.Now - t1).Minutes, (DateTime.Now - t1).Seconds));
Log.Read(" ");
}
}
}
2. window 서비스 설치 프로그램 추가
1. 서비스 1을 엽니다.cs[디자인] 페이지에서 오른쪽 단추를 누르고 [설치 프로그램 추가]를 선택하면 서비스 Installer1과 서비스 Process Installer1 두 개의 구성 요소가 나타납니다
2. 서비스 Process Installer1의 Account 속성을 [Local System], 서비스 Installer1의 StartType 속성을 [Automatic]로 설정하고 서비스Name 속성은 서비스 이름을 설정할 수 있으며 이후에 [관리 도구] – [서비스]에 이 이름을 표시합니다
3、ProjectInstaller.cs 파일은 서비스를 설치한 후에 보통 수동으로 시작해야 한다(상기 StartType 속성이 [Automatic]로 설정되어 있어도) 프로젝트 Installer.cs 설치 후 자동 시작
public ProjectInstaller()
{
InitializeComponent();
this.Committed += new InstallEventHandler(ProjectInstaller_Committed);
}
private void ProjectInstaller_Committed(object sender, InstallEventArgs e)
{
//
System.ServiceProcess.ServiceController controller = new System.ServiceProcess.ServiceController(" ");
controller.Start();
}
3. window 서비스 설치, 마운트 해제
1. cmd (명령줄)를 입력하고 cd C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319, 2.0 cd C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
2. 설치 서비스(프로젝트가 생성한exe 파일 경로)
InstallUtil “E:\WindowsService1\bin\Debug\WindowsService1.exe”
3. 서비스 제거
InstallUtil/u “E:\WindowsService1\bin\Debug\WindowsService1.exe”
4. 윈도우 서비스 보기
제어판 – > 관리 도구 – > 서비스, 여기서 수동으로 시작 및 서비스 중지 가능
5. window 서비스 디버깅
1. [이벤트 뷰어]를 통해 보기
2. 프로그램에서 직접 디버깅(메뉴 – > 디버깅 -> 추가 프로세스 -> 서비스 이름(이곳의 서비스 이름은 서비스 이름이지 서비스 이름 속성의 사용자 정의 이름이 아니므로 사용자 정의 이름과 프로젝트 이름은 일치해야 하며 [모든 사용자의 프로세스를 표시]를 선택해야만 서비스 이름을 볼 수 있음) -> 추가
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.