시멘틱 웹 검색 서비스 프로젝트 5. 윈도우 서비스 설치 및 제거[데이터분석 with C#]

이전 강의에서 HtmlAgilityPack을 설치했었죠.

그리고 웹 크롤링해 온 문자열에서 HTML의 BODY 내용을 얻어오는 실습을 했어요.

이번에는 웹 로봇을 서비스 형태로 가동하기 위해 필요한 선행학습을 해 볼 거예요.

예광탄으로 보셔도 되구요.

제일 먼저 윈도우 서비스를 만들어서 시스템에 설치하고 제거하는 실습을 해 볼 거예요.

이번 실습에서는 웹 크롤링한 후 HTML BODY 내용을 파일에 기록하는 서비스를 만들거예요.

그리고 installutil 명령어를 이용하여 서비스를 설치하고 구동한 후에 제거까지 하는 실습입니다.

동영상 강의를 참고하세요.

00:14 인사 및 실습 소개
00:31 서비스 프로젝트 추가
설치 관리자 추가
서비스 속성 설정
서비스 계정 설정
02:25 OnStart 메서드에 소스 코드 작성
05:20 서비스를 시스템에 설치
installutil -i 서비스파일명
서비스 가동
정상 동작하였는지 확인
서비스를 시스템에서 제거
insallutil -u 서비스파일명

다음은 실습에 사용한 소스 코드입니다.

using HtmlAgilityPack;
using System.IO;
using System.Net;
using System.ServiceProcess;
using System.Text;

namespace DemoSVC
{
    public partial class Service1 : ServiceBase
    {
        public Service1()
        {
            InitializeComponent();
        }

        protected override void OnStart(string[] args)
        {
            WebClient wc = new WebClient();
            wc.Encoding = Encoding.UTF8;
            string html = wc.DownloadString("https://ehpub.co.kr");
            HtmlDocument doc = new HtmlDocument();
            doc.LoadHtml(html);
            HtmlNode hn = doc.DocumentNode.SelectSingleNode("//body");
            string bodytxt = hn.InnerText;
            FileStream fs = new FileStream(@"D:\\svc\data.txt", FileMode.Create);
            byte[] buffer = Encoding.UTF8.GetBytes(bodytxt);
            fs.Write(buffer, 0, buffer.Length);
            fs.Close();
        }

        protected override void OnStop()
        {
        }
    }
}