수집한 웹 페이지 정보를 표현할 PostedUrl 클래스를 추가하세요.
웹 로봇에 의해 수집한 웹 페이지는 DBM ForAll을 통해 수집한 정보를 DBMS에 저장 요청을 합니다. 이 때 사용할 형식이 PostedUrl입니다.
StorePostedUrl 시퀀스 다이어그램을 보면 PostedUrl 형식에는 수집한 페이지 주소와 요청한 페이지 주소, 페이지의 내용, Seed 사이트에서의 상대적 깊이, 수집한 DateTime과 페이지 제목이 필요하다는 것을 알 수 있습니다. 이와 같은 멤버를 갖는 PostedUrl 클래스를 작성합시다.
클래스의 노출 수준을 public으로 지정하고 Serializable 특성을 지정합니다.
[Serializable] public class PostedUrl { }
필요한 멤버 속성을 추가합니다. 여기에서는 접근 지정을 public으로 설정하고 가져오기와 설정하기를 제공하세요.
그리고 기본 생성자와 각 정보를 입력 인자로 받는 생성자를 추가하고 ToString 메서드를 재정의하세요. ToString 메서드에서는 페이지 제목을 반환하게 합시다.
마지막으로 각 멤버에 세 줄 주석을 작성하고 빌드해 보세요.
▷PostedUrl.cs
using System; namespace WSE_Core { /// <summary> /// 수집한 웹 페이지 /// </summary> [Serializable] public class PostedUrl { /// <summary> /// 수집한 웹 페이지 주소 /// 가져오기 및 설정하기 /// </summary> public string Url { get; set; } /// <summary> /// 수집 요청한 원래 주소 /// 가져오기 및 설정하기 /// </summary> public string OriginUrl { get; set; } /// <summary> /// 페이지 제목 /// 가져오기 및 설정하기 /// </summary> public string Title { get; set; } /// <summary> /// 페이지 내용 /// 가져오기 및 설정하기 /// </summary> public string Content { get; set; } /// <summary> /// Seed 사이트에서 상대적 깊이 /// 가져오기 및 설정하기 /// </summary> public int Depth { get; set; } /// <summary> /// 수집한 DateTime /// 가져오기 및 설정하기 /// </summary> public DateTime PostedTime { get; set; } /// <summary> /// 기본 생성자 /// </summary> public PostedUrl() { Url = string.Empty; OriginUrl = string.Empty; Title = string.Empty; Content = string.Empty; Depth = 0; PostedTime = new DateTime(0); } /// <summary> /// 생성자 /// </summary> /// <param name="url">수집한 페이지 주소</param> /// <param name="originurl">수집 요청한 원래 주소</param> /// <param name="title">페이지 제목</param> /// <param name="content">페이지 내용</param> /// <param name="depth">Seed 사이트에서 상대적 깊이</param> /// <param name="postedtime">수집한 DateTime</param> public PostedUrl(string url,string originurl, string title,string content,int depth,DateTime postedtime) { Url = url; OriginUrl = originurl; Title = title; Content = content; Depth = depth; PostedTime = postedtime; } /// <summary> /// ToString 재정의 /// </summary> /// <returns>페이지 제목</returns> public override string ToString() { return Title; } } }