ㅇ. 서비스 응용프로그램의 특징
-> 일반적인 응용프로그램과는 다르다.
-> 컴파일된 실행파일은 반드시 서버에 설치
-> 디버그 하거나 서비스 프로그램을 직접 실행시클수 없음
-> 서비스 응용프로그램을 위한 설치 프로그램을 만들어야함
ㅇ. 윈도우 서비스 프로그램의 작성
-> 윈두우 서비스 프로젝트 선택
-> 서비스 이름지정 (ServiceName 속성)
-> 속성에 대한 서비스 여부 결졍
: CanStop
: CanShupDown
: CanPauseAndContinue
: AutoLog
ㅇ. ServiceController
-> 기존에 설치되어 있는 서비스와 연결
-> 서비스 시작, 중지, 정지 등을 제어
-> ServiceController 컴포넌트 작성
: 도구상자에서 추가
: 코드안에서 ServiceController 클래스의 인스턴스를 만들어서 사용
: ServiceName (동작하는 서비스)
: MachineName ("."은 현재 머신.. 리모트 머신은 머신명 기입)
ㅇ. 서비스 프로그램의 시작
-> 서비스 클래스의 OnStart 메서드를 호출
-> InstallUtil.exe를 사용하여 서비스를 설치한 후 시작
-> 개발환경에서 시작할 경우 오류 메세지 표시
ㅇ. 서비스 정보 로깅
-> 응용프로그램 이벤트 로그에 정보를 기록
-> AutoLog 속성을 지정 (기본 : True)
-> EventLog 개체를 사용하여 정보와 오류를 기록
: EventLog.WriteEntry("String")
-> 이벤트 소스로 등록하지 않아도 됨
: EventLog.CreateEventSource()없이도 로그 사용
ㅇ. 서비스 프로그램 디버깅
-> 서비스 응용프로그램은 직접 디버깅이 안됨
-> 디버깅 방법
: 서빗르를 시작한다.
: 서비스가 동작하는 프로세스에 디버거를 붙인다.
: 다른 응용프로그램 처럼 디버깅 한다.
ㅇ. 설치 컴포넌트
-> 서비스의 디자인 모드를 선택하여 설치 컴포넌트를 추가(마우스 왼쪽클릭 팝업 메뉴)
-> Add Installer를 선택
: ProjectInstaller라는 클래스 추가
: ServiceProcessInstaller, ServiceInstallerX가 추가
-> 필요한 속성을 수정, 필요한 메서드 오버라이드
-> 일반적인 응용프로그램과는 다르다.
-> 컴파일된 실행파일은 반드시 서버에 설치
-> 디버그 하거나 서비스 프로그램을 직접 실행시클수 없음
-> 서비스 응용프로그램을 위한 설치 프로그램을 만들어야함
ㅇ. 윈도우 서비스 프로그램의 작성
-> 윈두우 서비스 프로젝트 선택
-> 서비스 이름지정 (ServiceName 속성)
-> 속성에 대한 서비스 여부 결졍
: CanStop
: CanShupDown
: CanPauseAndContinue
: AutoLog
ㅇ. ServiceController
-> 기존에 설치되어 있는 서비스와 연결
-> 서비스 시작, 중지, 정지 등을 제어
-> ServiceController 컴포넌트 작성
: 도구상자에서 추가
: 코드안에서 ServiceController 클래스의 인스턴스를 만들어서 사용
: ServiceName (동작하는 서비스)
: MachineName ("."은 현재 머신.. 리모트 머신은 머신명 기입)
ㅇ. 서비스 프로그램의 시작
-> 서비스 클래스의 OnStart 메서드를 호출
-> InstallUtil.exe를 사용하여 서비스를 설치한 후 시작
-> 개발환경에서 시작할 경우 오류 메세지 표시
ㅇ. 서비스 정보 로깅
-> 응용프로그램 이벤트 로그에 정보를 기록
-> AutoLog 속성을 지정 (기본 : True)
-> EventLog 개체를 사용하여 정보와 오류를 기록
: EventLog.WriteEntry("String")
-> 이벤트 소스로 등록하지 않아도 됨
: EventLog.CreateEventSource()없이도 로그 사용
ㅇ. 서비스 프로그램 디버깅
-> 서비스 응용프로그램은 직접 디버깅이 안됨
-> 디버깅 방법
: 서빗르를 시작한다.
: 서비스가 동작하는 프로세스에 디버거를 붙인다.
: 다른 응용프로그램 처럼 디버깅 한다.
ㅇ. 설치 컴포넌트
-> 서비스의 디자인 모드를 선택하여 설치 컴포넌트를 추가(마우스 왼쪽클릭 팝업 메뉴)
-> Add Installer를 선택
: ProjectInstaller라는 클래스 추가
: ServiceProcessInstaller, ServiceInstallerX가 추가
-> 필요한 속성을 수정, 필요한 메서드 오버라이드