c# 윈도우서비스 예제

처음에는 VS.NET 열고 파일 메뉴에서 새로, 프로젝트를 클릭하기만 하면 됩니다. 새 프로젝트 대화 상자에서 Windows 서비스 템플릿 프로젝트를 선택하고 다음과 같이 MyNewService 이름을 지정합니다 Service1.cs. 다음 코드는 MyNewService 클래스에서 OnContinue 메서드를 재정의하는 방법을 보여 주며 Service1.cs 디자이너를 보고 속성 창에서 설치 관리자 추가를 클릭합니다. 다른 사용자가 Windows 서비스를 설치하는 데 사용할 수 있도록 독립 실행형 설치 프로그램을 만듭니다. WiX 도구 집합을 사용하여 Windows 서비스에 대한 설치 관리자를 만듭니다. 다른 아이디어는 설치 관리자 패키지 만들기를 참조하십시오. MyNewService 클래스에서 플랫폼 호출을 사용 하 여 SetServiceStatus 함수를 선언: 프로젝트 템플릿System.ServiceProcess.ServiceBase에서 상속 하는 Service1 라는 구성 요소 클래스를 포함 합니다. 여기에는 서비스를 시작하는 코드와 같은 대부분의 기본 서비스 코드가 포함됩니다. 설계 탭에서 바로 가기 메뉴에서 속성을 선택합니다. 속성 창에서 서비스 이름 값을 MyNewService로 변경합니다. Windows SetServiceStatus 함수를 호출하는 코드를 추가하여 SERVICE_START_PENDING 및 SERVICE_STOP_PENDING 상태 설정을 구현할 수 있습니다.

serviceInstaller1을 클릭하고 속성 창에서 ServiceName을 “MyService”로 설정하고 디스플레이 이름을 변경 (Microsoft 관리 콘솔에 표시됨)을 변경하고 설명 필드를 입력합니다. StartType을 자동 또는 수동 서비스 시작으로 설정할 수도 있습니다. Windows 서비스 템플릿이 표시되지 않으면 .NET 데스크톱 개발 워크로드를 설치해야 할 수 있습니다. 이 계정은 악성 소프트웨어의 공격 위험을 증가시킬 수 있으므로 주의해서 사용하십시오. 다른 작업의 경우 로컬 컴퓨터에서 권한이 없는 사용자로 작동하고 원격 서버에 익명 자격 증명을 제공하는 LocalService 계정을 사용하는 것이 좋습니다. 이벤트 로그에 쓸 수 있는 권한이 필요하기 때문에 LocalService 계정을 사용하려고 하면 이 예제가 실패합니다. 이 텍스트는 서비스 창의 설명 열에 나타나고 사용자에게 서비스를 설명합니다. serviceProcessInstaller1을 클릭하여 계정 속성을 필요한 값으로 변경합니다. 시스템이 서비스를 실행하는 계정입니다. 계정 설명은 ServiceAccount 열거형에서 찾을 수 있습니다.

ProjectInstaller의 디자인 보기에서 Visual C# 프로젝트에 대한 ServiceInstaller1을 선택하거나 Visual Basic 프로젝트의 ServiceInstaller1을 선택한 다음 바로 가기 메뉴에서 속성을 선택합니다. 다음은 C#에서 Windows 서비스를 빌드하는 방법에 대한 몇 가지 예입니다. MyNewService 클래스에서 Timer.Elapsed 이벤트를 처리 하는 OnTimer 메서드를 추가 합니다: 이벤트 뷰어에서 응용 프로그램 및 서비스 로그를 확장 합니다.