c# 윈도우서비스 예제

Windows 서비스 앱이 더 이상 필요하지 않은 경우 제거할 수 있습니다. 이 문서에서는 이벤트 로그에 메시지를 쓰는 Visual Studio에서 Windows 서비스 앱을 만드는 방법을 보여 줍니다. 다음으로 System.ServiceProcess 및 System.Configuration.Install 참조를 프로젝트에 추가합니다. 솔루션 탐색기에서 „참조”를 마우스 오른쪽 단추로 클릭하고 „참조 추가…”를 선택합니다. 팝업대화 상자에서 „.NET” 탭이 선택되어 있는지 확인한 다음 목록에서 아래로 스크롤하여 „System.ServiceProcess”로 스크롤한 다음 선택하고 확인을 클릭합니다. 참조 아래에 새 항목이 표시됩니다. 이렇게 하면 System.ServiceProcess 클래스를 참조 하는 코드를 작성할 수 있습니다. 이 프로세스를 반복하여 System.Configuration.Install 참조를 추가합니다. DisplayName 속성에 텍스트를 추가합니다. 예를 들어 MyNewService 표시 이름입니다. Windows SetServiceStatus 함수를 호출하는 코드를 추가하여 SERVICE_START_PENDING 및 SERVICE_STOP_PENDING 상태 설정을 구현할 수 있습니다.

도구 상자에서 구성 요소를 확장한 다음 EventLog 구성 요소를 Service1.cs [디자인]또는 Service1.vb [디자인] 탭으로 드래그합니다. 관리 콘솔)을 클릭하고 설명 필드를 입력합니다. StartType을 자동 또는 수동 서비스 시작으로 설정할 수도 있습니다. „WindowsService.cs” 클래스에서 다음을 복사합니다: 솔루션 탐색기에서 Service1.cs 또는 Service1.vb를 선택하고 바로 가기 메뉴에서 이름 바꾸기를 선택합니다. 파일의 이름을 MyNewService.cs 또는 MyNewService.vb로 변경한 다음 Windows에서 입력을 누릅니다. 이제 프로젝트를 빌드되었으므로 배포할 수 있습니다. 설치 프로젝트는 컴파일된 프로젝트 파일을 설치하고 Windows 서비스를 실행하는 데 필요한 설치 관리자를 실행합니다. 전체 설치 프로젝트를 만들려면 설치 프로젝트에 프로젝트 출력인 MyNewService.exe를 추가한 다음 MyNewService.exe를 설치하도록 사용자 지정 작업을 추가해야 합니다. Visual Studio 2003에는 Windows 서비스에 대한 템플릿이 있었지만 템플릿이 Microsoft에 의해 난독 처리되었다는 것도 기억납니다. 이제 Visual C # 2005 익스프레스 에디션을 사용하므로 Windows 서비스에 대한 템플릿이 없습니다. 그래서 거기에서 부터 .NET 2.0에서 작동하는 것을 만들었습니다.

Google에서 서비스 및 C#에 대한 검색을 수행하면 웹 서비스에 대한 많은 ASP.NET 참조를 볼 수 있습니다. 윈도우 서비스에 대한 정보를 찾고 초보자를위한 매우 유용하지 않습니다! 나는이 매우 문제가 있었다, 그래서 나는 그것을 자신을 하기로 결정, 구식 방법. 이 문서는 다른 사람의 기사와 경합하기위한 것이 아닙니다. 그것은 단순히 윈도우 서비스의 기본 골격, 아무것도 더. 사실 마이크로소프트 윈도우 서비스, 이전 NT 서비스로 알려진 당신은 다음 컴퓨터가 부팅 할 때 자동으로 시작할 수있는 기능을 가지고 자신의 Windows 세션에서 실행되는 장기 실행 응용 프로그램을 만들 수 있습니다 수동으로 일시 중지, 중지 또는 다시 시작됩니다. 서비스 제어 관리자는 service_STATUS 구조의 dwWaitHint 및 dwCheckpoint 멤버를 사용하여 Windows 서비스가 시작또는 종료될 때까지 기다리는 시간을 결정합니다. OnStart 및 OnStop 메서드가 오래 실행되는 경우 서비스는 증분 된 dwCheckPoint 값을 사용 하 여 SetServiceStatus를 다시 호출 하 여 더 많은 시간을 요청할 수 있습니다. Windows 서비스는 명령줄 인수 또는 시작 매개 변수를 허용할 수 있습니다. 시작 매개 변수를 처리하는 코드를 추가하면 사용자는 서비스 속성 창에서 고유한 사용자 지정 시작 매개 변수로 서비스를 시작할 수 있습니다.