기간 : (2024년) 9/30 ~ 10/31

개발 : .NET6, MS-SQL

배포 : Jenkins

html 소스 변환 처리

Controller를 상속 받은 BaseController에서

OnActionExecuting 메서드에서 액션메서드(View반환) 실행 전 처리 해야되는 내용을 작성해줍니다.

image.png

브라우저 언어 확인과, 리소스 주소를 변환해주는 서비스를 초기화 하여 의존성 주입을 시켜줍니다. 이렇게 해두면 모든 컨트롤러에서 해당 서비스를 따로 초기화 하지 않고 사용 할 수 있습니다.

HtmlPageService 클래스에서는 Page Content를 가지고 와서 퍼블리싱 되어있는 상대경로의 리소스 경로를 절대 경로를 포함한 경로로 치환해주는 메서드를 정의합니다.

image.png

image.png

GetContentResultAsync는 추상메서드에 정의된 메서드로서 HtmlPageService는 AbstractContentFeature라는 추상메서드를 상속받았습니다. GravityOfficial에서는 html 페이지 경로 치환 작업을 처리 해야 하는 페이지가 많았기 때문에 추상 메서드로서 GetContentResultAsync에 강제성을 부여하여 무조건 적으로 반복하여 실행 시켜주기 위해 추상 메서드를 사용했었던 것 같습니다. 하지만 지스타 페이지는 단일 페이지로 작업 되기 때문에 굳이 추상 메서드를 상속 받을 필요까지는 없을 것 같습니다. 추후 작업에서는 서비스 클래스에만 해당 기능만을 분할하여 정의하여 사용 할 예정입니다.

AbstractContentFeature에 정의되어있는

image.png

해당 메서드에서 문자열 치환을 처리 합니다.


HomeController

image.png

백오피스에서 등록된 Section 내용을 DB에서 조회해서 사용합니다. _service는 HtmlPageContentService 클래스입니다. BaseController에서 생성자를 사용하여 초기화 하지 않았기 때문에 HomeController에서 다시금 초기화 하여 사용하는 실수가 생겼습니다.

추후 해당 기능을 사용 할 때에는 단일 페이지일 경우에는 해당 컨트롤러에서만 초기화 하여 사용 하는 편이 유지보수에 용이 할 것 같습니다.